我知道你可以为字符串做这个:
print("You have inputted {0} postive numbers and {1} negative numbers".format('3','2'))
这会产生:
You have inputted 3 postive numbers and 2 negative numbers
但我想在变量名中插入一个字母。例如,
number = 4
print(nu{}ber.format("m"))
这应该产生4
任何想法?
答案 0 :(得分:2)
PRAGMA journal_mode = WAL
Eval从string中计算表达式,默认情况下可以访问程序变量。
或者:
print(eval('nu{}ber'.format("m")))
Globals是字典{' variable_name':value}。
除非你确实信任字符串的来源,否则你应该小心。例如,如果你有
print(globals()['nu{}ber'.format("m")])
和
class Nuke:
def destroy_everything():
launch_nukes()
class Cucumber:
...
print(eval('nu{}ber'.format(string_received_from_user)))
比命令
string_received_from_user = "ke.destroy_everything() or Cucum"
将被执行。
答案 1 :(得分:0)
虽然不推荐,但您可以通过globals
动态访问您的变量:
>>> number = 4
>>> globals()['num' + 'ber']
4
eval
也有效:
>>> eval('num' + 'ber')
4