0

Trueオブジェクトが真である場合とそうでない場合に返す関数を記述する最も慣用的な方法について意見をお願いしFalseます。例えば:

is_truthy(True) # True
is_truthy(False) # False
is_truthy(123) # True
is_truthy(0) # False
is_truthy("some string") # True
is_truthy("") # False

私が思いついた最高のものはこれです:

def is_truthy(obj):
    return not not obj

誰かがもっとうまくやれますか?

4

3 に答える 3

9
is_truthy = bool

ビルトインはあなたをカバーしました。

于 2012-10-05T20:29:34.457 に答える
5

あなたはこのようにそれを行うことができます:

bool(obj)
于 2012-10-05T20:29:38.600 に答える
0

が必要な場合は、ステートメントなどでbool使用することになるためです。is truey関数if内に何かをカプセル化する必要はないと思います。を直接使用するだけです。すなわち:bool

if is_truthy(my_bool):
    # do something

単に行う:

if my_bool:
    # do something
于 2012-10-05T20:36:07.430 に答える