关于函数中局部变量为list的返回值问题
def fun1():a = 0
return a
def fun2():
b = []
return b.append(1) fun1返回0没有问题 但是fun2为何返回的是None,而不是呢? 求大神解释 是否和list类型的存储方式有关?
列表内置函数没有返回值
所以得这样
def fun1():
a = 0
return a
def fun2():
b = []
b.append(1)
return b return b.append(1)
是先用append方法增加元素,加完之后,append方法的返回值给return用作函数返回。
但是这个list内置的append方法是没有返回值的,所以默认就是None,所以函数收到的也是None,所以返回None
2楼的说法不对,不是所有内置方法都没有返回值,这个最好看看官方手册,有说return的就会有返回值,没说的默认才是None。
官方手册:https://docs.python.org/zh-cn/3.6/tutorial/datastructures.html#more-on-lists 谢谢各位 明白了
页:
[1]