【发布时间】:2019-04-30 11:55:48
【问题描述】:
我创建了一个“刽子手”游戏,其中计算机随机选择一个单词,用户必须逐个字母地猜测该单词。
最后,我想问用户是否想再次玩游戏,但是我不能使用一种方法中使用的变量,因为它们的范围仅限于python中的一个函数。
class Hangman():
def start(self):
y = []
blanks = []
guessed = []
repeat = []
self.gamePlay = True
def beginning(self):
while l.gamePlay == True:
l.start()
ask = input('Would you like to play again(Y or N): ')
if ask.upper() == 'Y':
pass
else:
l.gamePlay = False
l = Hangman()
l.beginning()
我想知道如何扩展变量“gamePlay”的范围,使其即使在 begin() 函数中也能正常工作。
目前,它显示:AttributeError: 'Hangman' object has no attribute 'gamePlay'。
我刚开始学习 Python,遇到了这个困难。
【问题讨论】:
-
把
l.gamePlay全部改成self.gamePlay(其实就是把l.全部改成self.) -
beginning是Hangman的成员函数,它获取实例作为“self”变量。
标签: python-3.x class object instance self