Python类属性装饰器

Python类属性装饰器,python,python-decorators,Python,Python Decorators,我不确定是否有合适的措词,但我想问的是,在python中是否可以这样做: class Customer: self.name = 'Freddy' @reportMarketing self.surname = 'Krueger' self.eyes = 'Blue' @reportMarketing self.address = 'Elm Street' @reportAccounting self.tax_id = '8ab9a

我不确定是否有合适的措词,但我想问的是,在python中是否可以这样做:

class Customer:
    self.name = 'Freddy'
    @reportMarketing
    self.surname = 'Krueger'
    self.eyes = 'Blue'
    @reportMarketing
    self.address = 'Elm Street'
    @reportAccounting
    self.tax_id = '8ab9a66cf'
    ...
    
其中,
@reportMarketing
@reportAccounting
将是装饰师(某种)。这个想法是,像上面的一个实例可以被传递给一些“报告类”,基于实例的属性是用<代码> @ RealPosials还是<代码> @ RealCalpAudio/Cuff>,然后将它考虑到一个特定的“报告”。例如,假设您有一个客户数据库,上面有这样的实例,并且您希望在发送给营销部门的报告中包含带有
reportMarketing
装饰的数据/属性,而用
reportAccounting
修饰的数据/属性将包含在发送给会计部门的报告中

我想从概念上讲,我的问题是,我甚至可以为属性设置装饰器吗?我理解它们“通常”(总是?)用于功能


此外,为了提供更多的背景信息,我处理的类有很多属性(每个),因此手动处理所有这些属性很容易出错,因此我认为,通过简单地修饰我要处理的两个属性来处理它们,是未来最干净、最可扩展的。

reportMarketing=[‘姓氏’、‘地址’]
等等?Decorator语法只是函数应用程序的简写
self.namname=reportMarketing(“Krueger”)
,假设将
reportMarketing
定义为接受一个字符串并返回相同的字符串,同时具有一些其他有趣或有用的副作用。也就是说,速记只适用于
定义
语句,而不适用于赋值。@chepner的意思是实际上没有属性装饰的概念?类的方法(通过您提到的
def
)可以是注释的“主题”,但不能是该类的属性?