这是到目前为止的代码:
class Player:
hand = []
def take(self, card):
hand.append(card)
当我调用该函数时,这是错误:
hand.append(card)
NameError: global name 'hand' is not defined
我尝试过这样全球化:
class Player:
hand = []
def take(self, card):
global hand
hand.append(card)
它没有帮助。
答案 0 :(得分:1)
尝试通过'self'指针引用变量'hand':
class Player:
hand = []
def take(self, card):
self.hand.append(card)
在Python中,在成员函数中,self指针始终包含调用函数的类实例的值,允许您编辑该实例的成员。
答案 1 :(得分:0)
Quirliom说的正是如此。
除非你打算在所有类的实例中都有一个“hand”变量(即一个全局变量,这是Python认为你正在尝试做的,而且这不是很好的编码实践)。在这种情况下,您可以:
hand = []
class Player:
def take(self, card):
hand.append(card)
但我认为这不是你想要做的,因为它看起来像扑克式场景。