You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python中通过类方法利用函数参数创建动态命名的实例变量

动态生成Python类实例属性的解决方案

要实现根据方法参数动态创建name_age格式的实例变量,你可以使用Python内置的setattr()函数,它专门用于给对象动态设置属性。

修改你的代码如下:

class test:
    def __init__(self):
        self.name = "test"
        self.age = 20

    def get_variable(self, name, age):
        # 用f-string拼接属性名,通过setattr动态设置实例变量
        attr_name = f"{name}_{age}"
        setattr(self, attr_name, 'some value')

t = test()
t.get_variable('test', 20)

print(t.test_20)  # 输出: some value

补充说明

  • setattr(obj, attr_name, value) 是Python标准库函数,第一个参数是目标对象,第二个是属性名的字符串,第三个是属性值,完美适配动态生成属性名的场景。
  • 也可以通过直接操作实例的__dict__属性实现(self.__dict__[attr_name] = 'some value'),但setattr()是更推荐的规范写法。

内容的提问来源于stack exchange,提问作者isapansoni

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 08:40:40