作为Python的新用户,我尝试编写程序来学习如何使用类。这是我到目前为止在我的游戏课中所得到的
class Game(Table):
def __init__(self):
super().__init__(21, 10)
self.reset()
def __str__(self):
return makeGrid(self)
def reset(self):
self.setValues(' ' for _ in range(210))
for v in range(10):
self[10, v]='+'
def Startup(self):
p1=input('Player 1 name: ')
p2=input('Player 2 name: ')
def p1turn(self):
print('r%, its your turn!'% p1)
我的问题是我想在其他函数中使用p1和p2变量,但我意识到我无法访问函数中的变量并在其他函数中使用它。 (在这种情况下,如果我尝试运行我的p1turn(),我收到错误,因为p1不存在。
答案 0 :(得分:2)
在每个函数中,传入的第一个引用(通常绑定到名称self
)是对此类的实例对象的引用。可以将值存储为该实例的属性。
实际上,将self.
放在要在方法之间共享的任何变量之前,如下所示:
def Startup(self):
self.p1=input('Player 1 name: ')
self.p2=input('Player 2 name: ')
def p1turn(self):
print('r%, its your turn!'% self.p1)