请在Python命令行中解释以下Python 3示例中的c = None
原因。
>>> a = [1,2]
>>> b = a
>>> c = b.append(3)
>>> print(a,b,c)
[1, 2, 3] [1, 2, 3] None
答案 0 :(得分:5)
list.append()
将该条目附加到位并且不返回Python作为None
所采用的任何内容(Python的默认行为)。例如:
>>> def foo():
... print "I am in Foo()"
... # returns nothing
...
>>> c = foo() # function call
I am in Foo()
>>> c == None
True # treated as true
答案 1 :(得分:4)
您正在指定append
的返回值None
。
>>> a = [1,2]
>>> b = a.append(3)
>>> b == None
True
>>>
答案 2 :(得分:3)
函数append不会返回任何内容,这就是变量中没有任何内容的原因。让我们通过一个小例子看得更清楚:
让我们说你有这个功能
def foo:
bar = "Return this string"
return bar
x = foo()
print(x) # x will be "Return this string"
现在让我们说你有这个功能
def foo(bar):
print(bar)
x = foo(33) # Here 33 will be printed to the console, but x will be None
这是因为函数的return语句,如果你没有,函数将返回None。
append
是一个函数,可以在列表中执行某些操作(在Python字符串中也是列表),并且此函数不需要返回任何内容,它只是修改列表。