我正在使用面向对象编程编写我的第一个Python游戏,但是我在访问类变量时遇到了一些问题。具体来说,我想从一个方法中访问一个类变量。对于某些变量,它可以正常工作,但对于一个特定的布尔变量,它无法正常工作:
class Player(object):
eaten = False
def __init__(self):
.....
def eat(Player):
Player.eaten = True
问题在于,当调用函数时,eaten没有覆盖类中的变量。但对于其他变量,它确实按照我的意愿执行正确的操作。
编辑: 如果在类player的方法中,在调用
eat()
后添加print(self.eaten)
,它仍然始终打印False
。 class Player(object):
eaten = False
def move():
print(self.eaten)
def eat(Player):
Player.eaten = True
谢谢!
__init__
传递一个pass
),然后调用eat(Player)
,然后print(Player.eaten)
,我会看到True
... - MooingRawrPlayer
类的另一个方法中,当我打印eaten
时,它总是打印False,即使已经调用了eat()
方法。 - maurock