Python 类方法,静态方法的定义

发布时间:2022-04-26 09:42:55 人气:26 作者:多测师

  Python 是双面向的,既可以面向函数编程,也可以面向对象编程,所谓面向函数就是单独一个. py 文件,里面没有类,全是一些函数,调用的时候导入模块,通过模块名.函数名()即可调用,完全不需要类,那么你可能会问,那要类还有什么毛用? 类就是用来面向对象编程啦,类可以有自己的属性,类可以创建很多实例,每个实例可以有不同的属性,这也就保存了很多私有的数据,总之都有存在的必要.

  面向对象程序设计中,类方法和静态方法是经常用到的术语,逻辑上将:类方法只能由类名调用,静态方法可以由类名或者对象名调用。在python 语法中,类有三种方法,分别是实例方法,静态方法,类方法

Python 类方法,静态方法的定义

  class Foo(object):

  '''类三种方法语法形式'''

  #在类中定义普通方法,在定义普通方法的时候,必须添加self

  def instance_method(self):

  print("是类{}的实例方法,只能被实例对象调用".format(Foo))

  #在类中定义静态方法,在定义静态方法的时候,不需要传递任何类的东西

  @staticmethod

  def static_method():

  print("是静态方法")

  #在类中定义类方法,在定义类方法的时候,需要传递参数cls cls即为类本身

  @classmethod

  def class_method(cls):

  print("是类方法")

  foo = Foo()

  foo.instance_method()

  foo.class_method()

  foo.static_method()

  print("---------------")

  Foo.static_method()

  Foo.class_method()

  可以看出:

  实例方法只能被实例对象调用,静态方法(由@staticmethod装饰的方法)、类方法(由@classmethod装饰的方法),可以被类或类的实例对象调用。

  实例方法,第一个参数必须要默认传实例对象,一般习惯用self。对象方法中有self参数,类方法有cls参数,静态方法是不需要这些附加参数(在c++中,是没有类这个概念)

  静态函数(@staticmethod):即静态方法,静态方法是一类特殊的方法,有时候你可能需要填写一个属于这个类的方法,但是这些代码完全不会使用到实例对象本身。它主要处理这个类的逻辑关联,如验证数据;而且对参数没有要求。

  类方法(@classmethod):即类方法,类方法不是绑定到对象上,而是绑定在类上的方法,它更关注于从类中调用方法,而不是从实例中调用方法,如构造重载;

  成员函数:实例的方法,只能通过实例进行调用;第一个参数必须要默认传类,一般习惯用cls。

  以上内容为大家介绍了Python 类方法,静态方法的定义,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注多测师。https://www.e70w.com/xwzx/


返回列表
在线客服
联系方式

热线电话

17727591462

上班时间

周一到周五

二维码
线