我可以在Python的类方法中添加属性吗? [英] Can I add attributes to class methods in Python?

查看:334
本文介绍了我可以在Python的类方法中添加属性吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个这样的班级:

class A:
    def __init__(self):
        self.size=0
    def change_size(self,new):
        self.size=new

我想在change_size方法中添加一个属性,以说明其更改-即这样

I want to add an attribute to the change_size method to say what it changes - i.e. so that

A(blah)
blah.change_size.modifies

返回

'size'

这可能吗?我已经尝试过:

is this possible? I have tried:

class A:
    def __init__(self):
        self.size=0
    def change_size(self,new):
        self.change_size.modifies = 'size'
        self.size=new

没有

class A:
    def __init__(self):
        self.size=0
        self.change_size.modifies = 'size'
    def change_size(self,new):
        self.size=new

没有

class A:
    def __init__(self):
        self.size=0
    def change_size(self,new,modifies='size'):
        self.size=new

似乎都不起作用.

推荐答案

这很简单.基本上与将属性添加到任何其他函数的方式相同:

That's simple enough. It goes basically the same way you'd add attributes to any other function:

class A:
    def __init__(self):
        self.size=0
    def change_size(self,new):
        self.size=new
    change_size.modifies = 'size'

print(A.change_size.modifies) # prints size

这篇关于我可以在Python的类方法中添加属性吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆