1.实例方法
实例方法只能通过实例调用,实例方法第一个定义的参数只能是实例本身的引用
实例:
class myclass():
def foo(self):
print(id(“你好”)
a = myclass()#创建实例
a.foo() #实例调用
#myclass().foo() 这是错误调用方法。
结果:
你好
———————————————–
self指的是类实例对象本身(注意:不是类本身),在python中self不是关键词,你可以定义成a或b或其它名字都可以
id()函数是一个对象的id值在内存中的地址
2.类方法:
定义类方法要使用装饰器 @classmethod ,定义的第一个参数只能是类对象的引用,可以通过类或者实例直接调用
实例:
class myclass():
def foo(cls):
print(id(cls))
@classmethod
def foo2(cls):
print(“你好”)
a = myclass()#创建实例
print(“类方法————–”)#调用类方法
a.foo2() #实例调用
myclass.foo2() #类调用
结果:
你好
你好
3.静态方法
定义静态方法要使用@staticmethod,没有默认的必须参数,可以通过类或实例调用
实例:
class MyClass():
@staticmethod
def statisfun():
print(“你好”)
m=MyClass()
m.statisfun() #实例调用
MyClass.statisfun() #类调用
结果为:
你好
你好
——————