相关疑难解决方法(0)

什么是蟒蛇中的Truthy和Falsy?它与真与假有什么不同?

我刚刚才知道有TruthyFalsy在Python这是与正常不同的价值观TrueFalse

是否有人可以深入解释什么truthyfalsy值?

我应该在哪里使用它们?

truthyTrue值以及falsyFalse值之间有什么区别?

python

92
推荐指数
4
解决办法
3万
查看次数

在python中定义类的"boolness"

为什么这不是天真的预期?

class Foo(object):
    def __init__(self):
        self.bar = 3
    def __bool__(self):
        return self.bar > 10

foo = Foo()

if foo:
    print 'x'
else:
    print 'y'
Run Code Online (Sandbox Code Playgroud)

(输出是x)

python boolean class python-2.x python-2.7

64
推荐指数
3
解决办法
1万
查看次数

在python中,是否有某种映射返回类型的"假值"?

我正在寻找f()某种类似于此的映射函数:

f(str) = ''
f(complex) = 0j
f(list) = []
Run Code Online (Sandbox Code Playgroud)

这意味着它返回一个类型的对象,该对象在转换为时被计算Falsebool.

这样的功能存在吗?

python types boolean

42
推荐指数
4
解决办法
3561
查看次数

Python中对象的布尔值

我们知道,Python有对象的布尔值:如果一个类有一个__len__方法,它的每个实例__len__()都会返回0,它将被计算为一个布尔值False(例如,空列表).

实际上,每个可迭代的空自定义对象都被评估为False好像它出现在布尔表达式中.

现在假设我有一个foo属性类bar.我怎样才能定义它的真值,以便它会被评估True if bar % 2 == 0,False否则呢?

例如:

myfoo = foo()
myfoo.bar = 3
def a(myfoo):
    if foo:
        print "spam"
    else:
        print "eggs"
Run Code Online (Sandbox Code Playgroud)

所以,a(myfoo)应该打印"eggs".

python boolean

34
推荐指数
2
解决办法
2万
查看次数

标签 统计

python ×4

boolean ×3

class ×1

python-2.7 ×1

python-2.x ×1

types ×1