如何理解python中的None、[]、[1]?

如何理解python中的None、[]、[1]?,python,Python,我现在被块1、2和3的输出搞糊涂了,它们之间的关系是什么? 这就是所谓的 如果有A和B,并且A被计算为某个假等价物,则表达式将简单地返回A(该值为假或等效值)并跳过B。但是如果A是真等价的,我们返回B的值,因为A对于整个表达式的值不再重要 类似地,对于或的情况,如果我们有A或B,并且A是真正等效的,则将跳过B,并为表达式返回A。或者,如果A为假等价,则返回B。这被调用 如果有A和B,并且A被计算为某个假等价物,则表达式将简单地返回A(该值为假或等效值)并跳过B。但是如果A是真等价的,我们返回B的

我现在被块1、2和3的输出搞糊涂了,它们之间的关系是什么? 这就是所谓的

如果有
A和B
,并且
A
被计算为某个假等价物,则表达式将简单地返回
A
(该值为假或等效值)并跳过
B
。但是如果
A
是真等价的,我们返回
B
的值,因为
A
对于整个表达式的值不再重要

类似地,对于
的情况,如果我们有
A或B
,并且
A
是真正等效的,则将跳过
B
,并为表达式返回
A
。或者,如果
A
为假等价,则返回
B

这被调用

如果有
A和B
,并且
A
被计算为某个假等价物,则表达式将简单地返回
A
(该值为假或等效值)并跳过
B
。但是如果
A
是真等价的,我们返回
B
的值,因为
A
对于整个表达式的值不再重要


类似地,对于
的情况,如果我们有
A或B
,并且
A
是真正等效的,则将跳过
B
,并为表达式返回
A
。或者,如果
A
为假等价,则返回
B

例如:您可以在Python控制台中执行此操作

>>>a = None
>>>b = []
>>>c = [1]
>>>type(a)
<class 'NoneType'>
>>>type(b)
<class 'list'>
>>>type(c)
<class 'list'>
您也可以这样做:

>>>b.append(a)
>>>b
>>>[None]
>>>len(b)
>>>1  #(b have one element None)

例如:您可以在Python控制台中执行此操作

>>>a = None
>>>b = []
>>>c = [1]
>>>type(a)
<class 'NoneType'>
>>>type(b)
<class 'list'>
>>>type(c)
<class 'list'>
您也可以这样做:

>>>b.append(a)
>>>b
>>>[None]
>>>len(b)
>>>1  #(b have one element None)

从现在起,我将更新所有这些错误的等效代码

结论:

这是2019年3月24日星期日

  • NaN
    不是假等价物,因为
    print(float('NaN')和False)
    给出了
    False

(2019年3月19日,星期二。)

  • -1
    不是假等价物,因为
    
    打印(-1和False)
    
    False

  • 非1、[]、无、0
    为假等效,因为
    
    打印(非-1)
    打印([]和False)
    打印(无和错误)
    打印(0和False)
    
    分别为
    假、[]、无、0


从现在起,我将更新所有这些错误的等效代码

结论:

这是2019年3月24日星期日

  • NaN
    不是假等价物,因为
    print(float('NaN')和False)
    给出了
    False

(2019年3月19日,星期二。)

  • -1
    不是假等价物,因为
    
    打印(-1和False)
    
    False

  • 非1、[]、无、0
    为假等效,因为
    
    打印(非-1)
    打印([]和False)
    打印(无和错误)
    打印(0和False)
    
    分别为
    假、[]、无、0


什么是假等价物,包括
[]
0
None
、负数,如
-1
-2
?空容器(列表、字典、字符串等)、数字零和
None
都是假的。非空容器和非零数字为真。在数字中,False仅等效于0,因为这是它的值,1是true的值,因此False+2之类的值将返回2@JohnGordon和@adrtam。谢谢你所有有用的回答,我现在感觉好多了。通过几行代码,例如
print-1和False
输出
False
print[]和False
输出
[]
print None和False
输出
None
print 0和False
输出
0
,然后我知道什么是假等价物,以及如何判断一个元素是否是假等价物,正如上面@JohnGordon评论的那样。@gery你可以将
bool
应用到某个东西上,看看它的计算结果是
True
还是
False
,例如
bool(None)
什么是假等价物,包括
[]
0
None
,负数如
-1
-2
、空容器(列表、字典、字符串等)、数字零和
None
均为假。非空容器和非零数字为真。在数字中,False仅等效于0,因为这是它的值,1是true的值,因此False+2之类的值将返回2@JohnGordon和@adrtam。谢谢你所有有用的回答,我现在感觉好多了。通过几行代码,例如
print-1和False
输出
False
print[]和False
输出
[]
print None和False
输出
None
print 0和False
输出
0
,然后我知道什么是假等价物,以及如何判断一个元素是否是假等价物,正如上面@JohnGordon所评论的那样。@gery您可以将
bool
应用到某个东西上,看看它的计算结果是
True
还是
False
,例如
bool(None)
谢谢。你真是太好了,谢谢。你真是太好了。