doubinning 2019-12-28
静态属性:将在类中定义的函数属性可以使用数据属性调用的方法
在要修饰的函数属性前面添加@property
class Tue():
def __init__(self,name,age,data):
self.name = name
self.age = age
self.data = data
@property
def info_self(self):
return self.name
r1 = Tue(‘alom‘,14,"zhejiang")
print(r1.info_self)
#输出:
#alom
#不需要添加括号就可直接调用静态属性
类方法:直接使用类调用函数属性,不需要生成实例
class Tue():
tage = 1
def __init__(self,name,age,data):
self.name = name
self.age = age
self.data = data
self.age = 1
@classmethod
def info(cls):
print(‘from info‘,cls.tage)
Tue.info()
#此处不需要生成实例就可以调用类方法的函数属性
#如果没有添加classmethod则会报错类方法
静态方法:名义上归类管理,生成的实例则不能调用类中的函数属性,属于类的一个工具包
在要修饰的前面添加@staticmethod
class Tue():
tage = 1
def __init__(self,name,age,data):
self.name = name
self.age = age
self.data = data
self.age = 1
@staticmethod
def text(x,y):
print(x,y)
Tue.text(1,2)
print(Tue.__dict__)
r1 = Tue(‘name‘,14,‘dad‘)
print(r1.__dict__)静态方法
class Dad:
momy = 10
def __init__(self,name):
self.name = name
def hit_son(self):
print("打了一下son")
class Son(Dad):
momy = 10000000000
r1 = Son(‘alex‘)
print(r1.momy)
print(Dad.__dict__)
print(Son.__dict__)继承