# 类方法# 类方法:通过类名调用的方法,类方法中第一个参数约定俗成是 cls , Python自动将类名空间传给cls class A: name='小草' @classmethod def fu(cls): return ('%s在吃草' % cls.name) print(A.fu())
类中有些方法不需要对象参与 class A: name='小花' age=18 @classmethod def fu(cls): #此时方法无需对象参与,也可以用对象执行方法,但是在类方法中不要这样用 return cls.age+1 print(A.fu())
静态方法
1,对类中的静态变量进行改变,要用类方法2,继承中,父类得到子类的类空间不通过类方法,让我的父类的某个方法得到子类的类空间里面的任意值 class A: age=12 def func(self): #父类里面有func这个方法,执行这个函数方法,此时a1传给self print(self.age) #此时就相当于a1.age,这个age是B类里的age,因为实例化的是B类 class B(A): age=22 a1=B() #B类实例化一个对象 a1.func() a1就是对象,此时要执行func这个函数方法,先从对象空间里面去找,对象空间里没有func这个方法,然后再去父类里面找
class A: @staticmethod def login(username,password): if username == 'fu' and password == 123: print('登录成功') else: print('登录失败') A.login('fu',123) # # 静态方法 # # 1,代码块.清晰. # # 2,复用性.
转载于:https://www.cnblogs.com/hdy19951010/p/9379301.html
