append中NoneType问题
class PokeCard:def __init__(self, number, color):
self.number = number
self.color = color
def show(self):
return (number, color)
card = []
for number in range(1, 14):
for color in ['红心', '黑桃', '方块', '梅花']:
card = card.append(PokeCard(number, color).show())
print(card)
Traceback (most recent call last):
File "C:\Users\Administrator\Desktop\python\1.py", line 11, in <module>
card = card.append((number,color))
AttributeError: 'NoneType' object has no attribute 'append'
这里为什么PokeCard(number, color).show()的type是None
class PokeCard:
def __init__(self, number, color):
self.number = number
self.color = color
def show(self):
return (number, color)
number = 2
color = '梅花'
print(PokeCard(number, color).show())
(2, '梅花')
如果我没用for循环又能正常输出,请问这是为什么呢 append() 函数返回的是 None 类型,不信可以试试:
x = []
print(x.qppend("one"))
输出结果:
None python爱好者. 发表于 2022-3-16 17:47
append() 函数返回的是 None 类型,不信可以试试:
哦,明白了!list.后面的接的是方法,所以list.append并不是一个object!
页:
[1]