2015-11-05 138 views
1

作为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不存在。

回答

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) 
+0

我试着,但我仍然得到一个错误:游戏没有属性p1 –

相关问题