
在我的情况下,我不需要动态创建它们,我想在循环中访问它们.
我不想为它们使用字典,因为这些变量在代码中的很多地方使用,并且只在一个地方我需要这样的动态访问.
想法示例:
car_pos = 1; man_pos = 10car_vel = 100; man_vel = 5for elm in ['car','man']: elm_pos = elm + '_pos' elm_vel = elm + '_vel' # I want values of elements with such names here print(elm_pos,elm_vel)# Desired output:# (1,100)# (10,5)解决方法 变量名称是关联信息的可怕方式. man_pos和man_vel之间没有任何联系,只不过它们都是以man开头的.除此之外,他们是完全分开的. Python有更好的方法将这些元素捆绑在一起.
在这种情况下,人和车应该是属性pos和vel的对象.
class Thing: def __init__(self,pos,vel): self.pos = pos self.vel = vel# assume that both men and cars move only in one dimensionman = Thing(10,2) car = Thing(100,-5)
然后你的循环就是:
for item in [car,man]: print(item.pos,item.vel)
不要按照你想要的方式去做.它只会导致眼泪 – 如果不是你的眼泪,那么那些必须看你的代码的人才会流泪.
总结以上是内存溢出为你收集整理的python – 使用动态名称访问变量的值全部内容,希望文章能够帮你解决python – 使用动态名称访问变量的值所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)