Python面向对象(类的成员之方法)

时间:2021-08-17 11:54:39

day24

类的成员之方法

- 普通方法,保存在类中,由对象来调用,self > 对象

- 静态方法,保存在类中,由类直接调用

- 类方法,保存在类中,由类直接调用,cls > 当前类

 class Foo():
def bar(self):
print('bar') @staticmethod
def sta():#静态方法,其中self不是必须的,不需对象
print('') @staticmethod
def stat(a1, a2):
print(a1, a2) @classmethod
def classmd(cls):#类方法,不依赖对象
print(cls)
print("classmd") obj = Foo()
obj.bar() #Foo.bar(obj)#首先得有对象 Foo.sta()#静态方法不需要对象,可通过类调用
Foo.stat(1, 2) Foo.classmd()#类方法,不依赖对象

静态方法,保存在类中,由类直接调,self参数不是必须的。可通过类直接调用。

执行结果:

bar
123
1 2
<class '__main__.Foo'>
classmd Process finished with exit code 0

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