pengdonghan 发表于 2022-3-16 17:17:33

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

pengdonghan 发表于 2022-3-16 17:21:56

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循环又能正常输出,请问这是为什么呢

python爱好者. 发表于 2022-3-16 17:47:13

append() 函数返回的是 None 类型,不信可以试试:
x = []
print(x.qppend("one"))
输出结果:
None

pengdonghan 发表于 2022-3-16 17:59:06

python爱好者. 发表于 2022-3-16 17:47
append() 函数返回的是 None 类型,不信可以试试:

哦,明白了!list.后面的接的是方法,所以list.append并不是一个object!
页: [1]
查看完整版本: append中NoneType问题