为了账号安全,请及时绑定邮箱和手机立即绑定

如何获取Python中类的参数名称?

如何获取Python中类的参数名称?

交互式爱情 2023-08-22 10:31:50
我正在尝试创建一个带有self属性的类,该属性是__init__.例如:class thing:    def __init__(self,x,y=None,fav_animal=None):                self.x = x                if y is None:            self.y = None        else:            self.y = y                    if y is None:            self.fav_animal = None        else:            self.fav_animal = fav_animal                    self.arg_list = 'some code here?'    def args(self):        print(self.arg_list)我试图想出一个解决方案,该函数将自动返回属性名称args(self)列表。我可以手动设置,但我希望它在调用时自动发生。[x, y, fav_animal]self.arg_list = [x, y, fav_animal]__init__如果我通过列表附加来完成,例如:class thing:    def __init__(self,x,y=None,fav_animal=None):        arg_list = []        self.x = x        arg_list.append(self.x)# etc...        self.arg_list = arg_list该函数将根据需要返回给定参数的值,而不是名称。对于上下文,我想要这样做的原因是因为我将在多个项目中使用这种类型的东西,并且我希望能够向 中添加参数,而无需手动更新列表__init__。非常感谢!
查看完整描述

1 回答

?
明月笑刀无情

TA贡献1828条经验 获得超4个赞

您可以访问__init__using中定义的所有内容__dict__

所以你的args方法会是这样的

    def args(self): 
           print(list(self.__dict__.keys()))

打印

['x', 'y', 'fav_animal']

或者,

    def args(self):
            print(list(vars(self).keys()))


查看完整回答
反对 回复 2023-08-22
  • 1 回答
  • 0 关注
  • 76 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信