zfh518868 发表于 2022-2-1 09:33:35

为什么print(list1.reverse())的结果是none啊?



我的代码是:

list1=,88,99,100]
list2=

list2*=3
print(list2)
print(list1)

print(dir(list))

print(list1.count(100))

print(list1.index(100))

print(list1.reverse())

print(list1)

我的问题是:
为什么运行print(list1.reverse())的结果是none啊?

hrpzcf 发表于 2022-2-1 09:33:36

zfh518868 发表于 2022-2-1 11:39
我是问为什么会返回none,不是问解决方法。我想知道原理

因为reverse改变的是list实例本身,没有显式return,默认返回None。

wp231957 发表于 2022-2-1 10:17:53

因为他的返回值就是none
翻转就翻转,为啥要print呢

hrpzcf 发表于 2022-2-1 10:18:37

list1.reverse()改变list1本身,返回none,拆成两句就行了

list1.reverse()
print(list1)

zfh518868 发表于 2022-2-1 11:39:14

hrpzcf 发表于 2022-2-1 10:18
list1.reverse()改变list1本身,返回none,拆成两句就行了

list1.reverse()


我是问为什么会返回none,不是问解决方法。我想知道原理

ckblt 发表于 2022-2-1 12:31:54

zfh518868 发表于 2022-2-1 11:39
我是问为什么会返回none,不是问解决方法。我想知道原理

因为 list1.reverse() 改变list1本身,返回none,楼上都说了

例子:
>>> a =
>>> a.reverse() # 没有返回值
>>> a

isdkz 发表于 2022-2-1 12:33:53

zfh518868 发表于 2022-2-1 11:39
我是问为什么会返回none,不是问解决方法。我想知道原理

这个方法就是用来原地翻转列表的,不需要返回值,
自然就返回None了,因为所有函数都是有返回值的,
不显式return地都是返回None
页: [1]
查看完整版本: 为什么print(list1.reverse())的结果是none啊?