Python3的方法
方法的创建
再此之前我们先回顾一下函数
函数的创建时需要
def
方法与函数相似
也是使用
def
创建的
但是方法必须在类里面创建
不放在类里面的方法不叫方法叫函数
所以想要区分方法很简单你
只需要记住
属于某个类的函数就是方法 不属于任何类的函数就是函数
方法创建格式
class 类名:
def 方法名(参数):
代码
例
class person:
def foo1(self):
print(self)
Python的方法分类
Python方法分为
实例方法、类方法、静态方法、
实例方法
特点
实例方法只能通过实例调用,实例方法第一个定义的参数只能是实例本身的引用
class person:
def foo1(self):
print(self)
```
self指的是类实例对象本身(注意:不是类本身),在python中self不是关键词,你可以定义成a或b或其它名字都可以
调用实例方法
p=person()
p.foo1()
注意实例方法只能通过实例调用
下面这种方法是错的
person().foo1() #错误的
实例方法的总结
实例方法只能通过实例调用,实例方法第一个定义的参数只能是实例本身的引用
类方法
-----
特点
定义类方法要使用装饰器 @classmethod ,定义的第一个参数只能是类对象的引用,可以通过类或者实例直接调用
例子
class person:
@classmethod
def foo2(cls):
print(cls)
使用
p=person()
p.foo2()
person().foo2()
与实例方法的不同之处
类方法
创建时 需要使用装饰器 @classmethod
调用时 可以通过类或者实例直接调用
静态方法
----
特点
定义静态方法要使用@staticmethod,没有默认的必须参数,可以通过类或实例调用
例子:
class person:
@staticmethod
def foo3():
print(‘foo3’)
使用
p=person()
p.foo3
person().foo3()
与实例方法、类方法的不同之处
静态方法
创建时 需要使用装饰器 @staticmethod
没有默认的必须参数
调用时 可以通过类或者实例直接调用
如有不足请在评论区提出
宝宝还是新手