python对象名和输入字符串有问题
我在python类和字符串方面遇到了问题,我想使用原始输入提供的字符串命名一个类对象,我现在甚至不知道这是否可行。这就是我试图这样做的方式,但代码不起作用。我在stackoverflow.com上搜索了很多帖子,但都没有得到回复;我是Python的新手,我知道类和实例是如何工作的,但我不知道有什么函数可以帮助我解决这个问题python对象名和输入字符串有问题,python,class,Python,Class,我在python类和字符串方面遇到了问题,我想使用原始输入提供的字符串命名一个类对象,我现在甚至不知道这是否可行。这就是我试图这样做的方式,但代码不起作用。我在stackoverflow.com上搜索了很多帖子,但都没有得到回复;我是Python的新手,我知道类和实例是如何工作的,但我不知道有什么函数可以帮助我解决这个问题 class example: def _init_(self ,name): self.name=name input1 = raw_
class example:
def _init_(self ,name):
self.name=name
input1 = raw_input("")
input1 = example()
我不建议您这样做,但一种方法是: 假设用户在提示下输入了“abcd”,则类
Example
的实例将绑定到名为“abcd”的变量:
但这可能也不是最好的办法,通常有更好的办法,这取决于你想要达到的目标
更安全的方法是使用字典,将用户输入用作键:
user_vars = {}
name = raw_input("Enter name: ")
user_vars[name] = Example()
>>> user_vars['abcd']
<__main__.Example instance at 0x7f841fb45908>
user_vars={}
名称=原始输入(“输入名称:”)
user_vars[name]=示例()
>>>用户变量['abcd']
请修复您的缩进。
>>> abcd
<__main__.Example instance at 0x7f841fb45908>
name = raw_input("Enter name: ")
globals()[name] = Example()
user_vars = {}
name = raw_input("Enter name: ")
user_vars[name] = Example()
>>> user_vars['abcd']
<__main__.Example instance at 0x7f841fb45908>