2024-04-19 04:04:49 发布
网友
最近,我一直在用Python语言编程。我遇到了将字符串转换成关键字的问题。你知道吗
假设我使用一个raw_input()短语并将该字符串转换为对象、列表或字典。你知道吗
raw_input()
例如,我可以将字符串“Foo”转换为Foo,并将该名称赋给python结构。你知道吗
我该怎么做?你知道吗
你不想这么做,所以与其这么做,不如用字典:
answer = raw_input("Enter: ") # Let's assume I enter "Foo" mydict = {answer: raw_input("Enter a value for {} ".format(answer)} Let's say I enter "5" print mydict.get('Foo') # 5
如果愿意,可以修改globals字典。你知道吗
globals
globals()[raw_input()] = None # whatever "structure" you desire. print foo
上面的代码只有在用户实际输入字符串“foo”时才起作用。否则它会说NameError: name 'foo' is not defined。你知道吗
NameError: name 'foo' is not defined
但就像海德罗说的,不管你为了什么想这么做都可能是个愚蠢的想法。你知道吗
正如@icktoofay在注释中所指出的,这只适用于内置函数globals()的返回值。修改内置函数locals()的返回值实际上不会修改本地名称空间。你知道吗
globals()
locals()
你不想这么做,所以与其这么做,不如用字典:
如果愿意,可以修改
globals
字典。你知道吗上面的代码只有在用户实际输入字符串“foo”时才起作用。否则它会说
NameError: name 'foo' is not defined
。你知道吗但就像海德罗说的,不管你为了什么想这么做都可能是个愚蠢的想法。你知道吗
正如@icktoofay在注释中所指出的,这只适用于内置函数
globals()
的返回值。修改内置函数locals()
的返回值实际上不会修改本地名称空间。你知道吗相关问题 更多 >
编程相关推荐