最近,我一直在Python语言编程。我遇到了尝试将字符串转换为关键字的问题。如何将常规字符串转换为关键字?
假设我用一个短语raw_input()
并把该字符串转换成一个对象,列表或字典。
例如,我可以把字符串“foo”到Foo和该名称指定给一个python结构。
我该怎么做?
最近,我一直在Python语言编程。我遇到了尝试将字符串转换为关键字的问题。如何将常规字符串转换为关键字?
假设我用一个短语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()[raw_input()] = None # whatever "structure" you desire.
print foo
上述代码仅在用户实际输入字符串“foo”时才有效。否则它会说NameError: name 'foo' is not defined
。
但是,是像Haidro说,不管你是要为做这可能是一个愚蠢的想法。
由于@icktoofay在评论中指出,这只会与内置功能globals()
的返回值来运作。修改内置函数locals()
的返回值实际上不会修改本地名称空间。
我真的很喜欢这种方法。谢谢:) – JKodner
Lol,@Haidro,你只是在问这些问题。考虑到你提到的两个受骗者接受回答者......用相同的答案... – kojiro
@kojiro哇,我从来没有注意到! – TerryA