python 类方法
推荐
在线提问>>
定义:在类里面把一个方法绑定给类,说白了类方法是给类用的,该方法由装饰器@classmethod所装饰,类.绑定
到类的方法(),会把类本身当做第一个参数自动传给绑定到类的方法中。
classA:#创建父类
x=1
@classmethod#使用装饰器,变为类的绑定方法
deftest(cls):#定义了类的方法
print(cls,cls.x)#拿掉一个类的内存地址后,就可以实例化或者引用类的属性了
classB(A):#子类B,B中没有test类的绑定方法,就去父类中找,并将类名当第一个位置参数自动传到方法里
x=2
B.test()#调用test类的绑定方法
print(B.test)#查看B.test的属性
-------------输出结果----------------
2
>#test是A的绑定方法,这里B继承了
应用场景:
classDate:
def__init__(self,year,month,day):
self.year=year
self.month=month
self.day=day
@classmethod
defnow(cls):
t=time.localtime()
obj=cls(t.tm_year,t.tm_mon,t.tm_mday)
returnobj
@classmethod
deftomorrow(cls):
t=time.localtime(time.time()+86400)
obj=cls(t.tm_year,t.tm_mon,t.tm_mday)
returnobj
classEuroDate(Date):#__str__,打印由这个类产生的对象时,会触发执行
def__str__(self):#定义在类内部,必须返回一个字符串类型
return"年:%s,月:%s,日:%s"%(self.year,self.month,self.day)
e1=EuroDate(2016,12,13)#实例化对象e1
print(e1)
e2=EuroDate.now()#调用类的绑定方法,并赋值给e2
print(e2)#打印返回结果
e3=EuroDate.tomorrow()#调用类的绑定方法,并赋值给e3
print(e3)#打印返回结果
print(EuroDate.now)#查看数据类型
print(EuroDate.tomorrow)#查看数据类型
以上内容为大家介绍了python类方法,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注IT培训机构:千锋教育。