@staticmethod 装饰后,类中的方法转成静态方法
1 class a: 2 3 @staticmethod 4 def b(self): 5 print('')
静态方法不可以访问实例变量或类变量,相当于类中的工具包。如os, system 等 import的模块一般
@classmethod装饰后,类中的方法转成类方法,类方法和普通方法的区别是, 类方法只能访问类变量,不能访问实例变量
1 class b(object): 2 name='aa' 3 @classmethod 4 def cc(self): 5 print('%s .l.....'%name) 6 7 8 9 b.cc()
@property装饰后把,类中的方法方法转成静态属性
静态属性的使用方法
1 class Eat_food(object): 2 self.__food=None#设置一个私有属性 3 4 @property 5 def eat(self): 6 print('.....%s'%self.__food) 7 8 @eat.setter #再次装饰后可以对其赋值 9 def eat(self,food): 10 print('.....%s'%food) 11 self.__food=food#保存到私有属性,备用 12 13 @eat.deleter 14 def eat(self): 15 del self.__food#删除保存赋值的私有属性,相当于删除这个属性方法