gpt4 book ai didi

python - 如何使用字符串值作为对象名称

转载 作者:行者123 更新时间:2023-11-30 22:03:21 26 4
gpt4 key购买 nike

我正在尝试做这样的事情:

user_id = 12345
"user_id" = user("...") # "user" is my class
# I want to replace "user_id" with "12345"

可能吗?

最佳答案

如果你真的需要这个,你最好使用字典:

my_objs = {}
user_id = 12345
my_objs[user_id] = User()
print(my_objs)

那么输出将是:

{12345: <__main__.User object at 0x123456789abc>}

您始终可以使用以下任一方式获取对象:

another_id = 12345
my_objs[another_id]

my_objs[12345]
<小时/>

如果您真的非常需要这个但无法使用字典,getattrsetattr 可能会有所帮助:

user_name = "hahaha"
setattr(__import__(__name__), user_name, User())

print(hahaha)

new_name = "hahaha"
assert hahaha is getattr(__import__(__name__), new_name)

这将生成相同的输出并且断言将通过。

请注意,此方法在函数内部不能很好地工作,它只适用于模块级别。

关于python - 如何使用字符串值作为对象名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53581992/

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