1. 类中的特性关键字 @property
访问特性
2. 关键字@end.setter
设置特性
3.普通方法需要加()来执行方法
4.特性,不需要加()来执行,相当于通过字段来访问,即将方法伪造成一种字段,但是缺点是不能传参数。
class Provice: # 静态字段,类中 country = "China" def __init__(self, name): temp = "xxx" # 普通字段,对象中(self就是对象) self.name = name # 普通方法,类中 def show(self): print("show") # 静态方法,()中没有self;但是可以传值 # 静态方法属于类,通过类调用。 @staticmethod def xo(bk): print("xo") print(bk) # 类方法 @classmethod def xxoo(cls): print("xxoo", cls) # 普通方法 def start(self): temp = "%s is sb" % self.name return temp # 特性,将方法伪造成一种字段。 # 访问特性 @property def end(self): temp = "%s is smart" % self.name return temp # 设置特性 @end.setter def end(self, value): print(value) self.name = value obj = Provice("alex") ret1 = obj.start() # 加()来执行start方法 ret2 = obj.end # 没有加(),就可以执行end方法。相当于通过字段来访问了。但是缺点是不能传参数。 # 当需要对特性设置时。需要紧跟着再定义一个end的方法。因为前面没有接受参数的地方。 # 关键字@end.setter obj.end = "xxx" # 在设置特性中打印"xxx" print(obj.end) # 首先执行访问特性(obj.end),得到返回值,temp的值,然后执行(print(obj.end))