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

     ######## 应用场景:
     如果对象中需要保存一些值,执行某功能时,需要使用对象中的值,普通方法
     不需要任何对象中的值,静态方法
       

原文地址:https://www.cnblogs.com/112358nizhipeng/p/9824855.html