gpt4 book ai didi

python:从变量名创建实例

转载 作者:行者123 更新时间:2023-11-28 19:40:47 26 4
gpt4 key购买 nike

***EDIT2:对损坏的代码感到抱歉。这是说明相同问题的工作代码:

class bead():
def printmsg(a):
print('test message')

chain1=bead()
x='chain1'
eval(x + '.printmsg()')

***编辑:感谢 gnibbler 回答最初的问题。这是我的问题的一个措辞更好的版本:

class bead():
def msg():
print('test message')

x='chain1'
y='bead1'

eval(x + '.' + y + '=bead()')

chain1.bead1.msg()

输出:'测试消息'

什么是更好的方法?

原始问题:

脚本:

class testClass():
test1='test1 text'

x='testClass'
y='test1'

eval(x + '.' + y)

输出:'test1 文本'

有更好的方法吗?

***编辑:getattr() 用于从类中提取信息。谢谢你。让我稍微改变一下问题:

我可以用什么代替:

x='链1'y='mol1'

最佳答案

代替eval(),你可以说

getattr(locals()[x], y)

getattr(locals().get(x), y)

你是这个意思吗?

关于python:从变量名创建实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6367164/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com