【发布时间】:2020-05-16 05:07:26
【问题描述】:
我正在编写一个 Python 游戏,我的 Hero 课程是这样开始的:
class Hero():
def __init__(self, name):
self.class = ""
while self.class not in ["mage", "fighter"]:
print("What class are you?")
self.class = input("Mage or Fighter: ").lower()
self.name = name.title()
self.level = 1
self.enimieskilled = 0
self.hp = self.level * 5
self.attacks = spells[self.class]
我后来创建了一个英雄:
player = Hero(input("What is your name? "))
但是当我运行这个程序时,我得到:
File "app.py", line 26
self.class = ""
^
SyntaxError: invalid syntax
我尝试注释掉所有self.class,如下所示:
class Hero():
def __init__(self, name):
#self.class = ""
#while self.class not in ["mage", "fighter"]:
# print("What class are you?")
# self.class = input("Mage or Fighter: ").lower()
self.name = name.title()
self.level = 1
self.enimieskilled = 0
self.hp = self.level * 5
#self.attacks = spells[self.class]
它运行了!我已经检查过了,我所有的 paranthesies 都没有问题。 感谢您的帮助!
【问题讨论】:
-
class 是一个保留的 python 关键字,这就是它不起作用的原因:) 尝试使用
self.class_name或其他东西 -
不要在
Hero.__init__里面做IO;名称和类都应该作为参数传递。
标签: python python-3.x class syntax-error