python变量名称更改

0 python string variables

我对python有点疑问.

我有一段代码

screen.blit(badninja1,(badninja1px ,badninja1py))
screen.blit(badninja2,(badninja2px ,badninja2py))
screen.blit(badninja3,(badninja3px ,badninja3py))
Run Code Online (Sandbox Code Playgroud)

我知道它重复了3次,我想做一些重构.

这是一段python代码,它的作用是在badninja1px和badninja1py等地方绘制badninja1 .bandninja1,badninja1px,badninja1py和其他是变量名.

我想把这段代码放在for循环中

for x in range(1, 4):
    #add number 1, 2, 3 to the variable name.
Run Code Online (Sandbox Code Playgroud)

我试着这样做,并意识到我可以在python中轻松组合字符串:

"Dec "+str(25)+"th".
Run Code Online (Sandbox Code Playgroud)

但是,更改变量名称有点棘手.

任何人都可以给你一个提示谢谢!!

Mar*_*ers 5

您通常会将这些值保留在列表或词典中:

badninjas = [badninja1, badninja2, badninja3]
Run Code Online (Sandbox Code Playgroud)

并保持像他们的位置信息badninja对象:

for ninja in badninjas:
    screen.blit(ninja, (ninja.px, ninja.py))
Run Code Online (Sandbox Code Playgroud)

可以使用globals()locals()结果(都返回映射)动态查找变量,但一般来说,您应该避免这种行为.这当然不需要.