持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第9天,点击查看活动详情
python的成员方法
Python类的成员方法大致可以分为
- 公有方法
- 私有方法
- 静态方法
- 类方法
- 抽象方法
公有方法和私有方法
公有方法、私有方法和抽象方法一般是指属于对象的实例方法,私有方法的名 字以两个开始,而抽象方法一般定义在抽象类中并且要求派生类必须重新实现。 每个对象都有自己的公有方法和私有方法,在这两类方法中都可以访问属于类 和对象的成员。公有方法通过对象名直接调用,私有方法不能通过对象名直接 调用,只能在其他实例方法中通过前缀self进行调用或在外部通过特殊的形式来 调用。
公有方法
def student:
self.name=name
私有方法
def student:
self.__name=name #是两个下划线
self参数
所有实例方法(包括公有方法、私有方法、抽象方法和某些特殊方法)都必须至少有一个名为self的参数,并且必须是方法的第一个形参(如果有多个 形参的话),self参数代表当前对象。 在实例方法中访问实例成员时需要以self为前缀,但在外部通过对象名调用 对象方法时并不需要传递这个参数。 如果在外部通过类名调用属于对象的公有方法,需要显式为该方法的self参数传递一个对象名,用来明确指定访问哪个对象的成员。
静态方法和类方法
静态方法和类方法都可以通过类名和对 象名调用,但不能直接访问属于对象 的成员,只能访问属于类的成员。 静态方法和类方法不属于任何实例,不会绑定到任何实例,当然也不依赖于任何实例的状态,与实例方法相比能够减少很多开销。 类方法一般以cls作为类方法的第一个参数表示该类自身,在调用类方法时不 需要为该参数传递值,静态方法则可以 不接收任何参数。