Python面向对象(类的成员之方法)
day24
类的成员之方法
- 普通方法,保存在类中,由对象来调用,self > 对象
- 静态方法,保存在类中,由类直接调用
- 类方法,保存在类中,由类直接调用,cls > 当前类
1 class Foo(): 2 def bar(self): 3 print('bar') 4 5 @staticmethod 6 def sta():#静态方法,其中self不是必须的,不需对象 7 print('123') 8 9 @staticmethod 10 def stat(a1, a2): 11 print(a1, a2) 12 13 @classmethod 14 def classmd(cls):#类方法,不依赖对象 15 print(cls) 16 print("classmd") 17 18 obj = Foo() 19 obj.bar() 20 21 #Foo.bar(obj)#首先得有对象 22 23 Foo.sta()#静态方法不需要对象,可通过类调用 24 Foo.stat(1, 2) 25 26 Foo.classmd()#类方法,不依赖对象
静态方法,保存在类中,由类直接调,self参数不是必须的。可通过类直接调用。
执行结果:
bar 123 1 2 <class '__main__.Foo'> classmd Process finished with exit code 0
######## 应用场景:
如果对象中需要保存一些值,执行某功能时,需要使用对象中的值,普通方法
不需要任何对象中的值,静态方法