2009年10月29日木曜日

オブジェクトのブール値を取得する

組み込み関数 bool で取得する
# -*- coding: utf-8 -*-

# 組み込み関数boolで取得できる
b = bool([])

# クラスに特殊メソッド __nonzero__ __len__
# を定義すると返す値を変更できる
# 二つとも定義すると __nonzero__ が優先される
class A:
    def __nonzero__(self):
        return False
class B:
    def __len__(self):
        return 0

b = bool(A())

b = bool(B())

詳細はドキュメントで

0 件のコメント:

コメントを投稿