【发布时间】:2018-05-06 14:15:16
【问题描述】:
我正在尝试制作一款有点像口袋妖怪的基于文本的游戏。进展顺利,但我在使用用户输入的字符串访问移动时遇到了问题(移动是类)。将会创建很多动作,但我实际上不知道这是否会影响这种访问的完成方式。每当我运行我的代码或下面的类似代码时,我都会收到此错误。
what is a classname you want? myClass
Traceback (most recent call last):
File "main.py", line 11, in <module>
Main()
File "main.py", line 10, in Main
print(userClass.name)
AttributeError: 'str' object has no attribute 'name'
这是我一直在使用的简化版本的代码。
def Main():
class X():
name=""
myClass=X()
myClass.name="this"
userClass=str(input('what is a classname you want?'))
print(userClass.name)
Main()
更新: 我根据编辑更改了我使用的内容,但仍然出现错误。代码如下:
def Main():
class X():
name=""
myClass=X()
myClass.name="this"
userClass = globals()[str(input('What is a class name you want?'))]
print(userClass.name)
Main()
这是我得到的错误:
What is a class name you want? myClass
Traceback (most recent call last):
File "python", line 10, in <module>
File "python", line 8, in Main
KeyError: 'myClass'
【问题讨论】:
标签: string python-3.x class