如何使用原始输入来定义变量

use*_*442 3 python variables raw-input

这是我的代码:

Adherent = "a person who follows or upholds a leader, cause, etc.; supporter; follower."

word=raw_input("Enter a word: ")

print word
Run Code Online (Sandbox Code Playgroud)

当我运行此代码并输入Adherent时,会生成Adherent一词.我如何才能将Adherent的定义改为弹出?

iCo*_*dez 9

您可以(应该)使用字词映射到定义的字典:

>>> word_dct = {"Adherent" : "a person who follows or upholds a leader, cause, etc.; supporter; follower."}
>>> word=raw_input("Enter a word: ")
Enter a word: Adherent
>>> word_dct[word]
'a person who follows or upholds a leader, cause, etc.; supporter; follower.'
>>>
Run Code Online (Sandbox Code Playgroud)

创建动态变量是一种糟糕且有潜在危险的做法.它不仅很容易丢失它们,而且如果您使用execeval创建它们,您将面临执行任意代码的风险.请参阅为什么要避免使用exec()和eval()?欲获得更多信息.甚至访问localsglobals通常不赞成使用列表或字典.

  • +1实现['词典'](http://en.wikipedia.org/wiki/Dictionary)比使用['词典']更好的方法(http://en.wikipedia.org/维基/ Associative_array)? (2认同)