相关疑难解决方法(0)

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

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

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

我应该在哪里使用它们?

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

python

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

当"if not []"成功时,为什么"[] == False"评估为False?

我问这个是因为我知道检查列表是否为空的pythonic方法如下:

my_list = []
if not my_list:
    print "computer says no"
else:
    # my_list isn't empty
    print "computer says yes"
Run Code Online (Sandbox Code Playgroud)

将打印computer says no,等等,这使我认识[]False真值; 但是,如果我尝试直接比较[]和False,我会得到以下结果:

>>> my_list == False
False
>>> my_list is False
False
>>> [] == False
False
Run Code Online (Sandbox Code Playgroud)

等等...

这里发生了什么?我觉得我错过了一些非常明显的东西.

python

31
推荐指数
3
解决办法
4166
查看次数

python中字符串的真值

if <boolean> :
   # do this
Run Code Online (Sandbox Code Playgroud)

boolean必须是True或False.

那么为什么

if "poi":
   print "yes"
Run Code Online (Sandbox Code Playgroud)

输出:是的

我不明白为什么是打印,因为"poi"是虚假的真或假.

python

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

测试Truthy或Falsy参数通过函数传递到if语句

我也在这一点上画空白.而不是提供答案,我将不胜感激,如果有人可以帮助我理解为什么我的代码不打印预期的输出:

def bool_to_str(bval):
    if bval is True:
        mytest = 'Yes'
    else:
        mytest = 'No'
    return mytest
Run Code Online (Sandbox Code Playgroud)

预期产量:

>>>bool_to_str([1, 2, 3])
'Yes'
>>>bool_to_str(abcdef)
'Yes'
Run Code Online (Sandbox Code Playgroud)

实际输出的是什么:

>>>bool_to_str([1, 2, 3])
'No'
>>>bool_to_str(abcdef)
'No'
Run Code Online (Sandbox Code Playgroud)

请帮我理解我做错了什么.我认为函数需要测试参数的实际真值,但我不明白我错过了什么.

python if-statement truthiness

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

标签 统计

python ×4

if-statement ×1

truthiness ×1