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