Python静态函数和普通方法的区别

发布时间:2022-06-30 09:34:41 人气:80 作者:多测师

  下面通过一个例子,讲解Python静态函数、普通方法、类方法的区别

  # -*-coding:utf-8-*-

  # 普通方法,类方法,静态方法的区别

  __metaclass__ = type

  class Tst:

  name = 'tst'

  data = 'this is data'

  # 普通方法

  def normalMethod(self, name):

  print self.data, name

  # 类方法,可以访问类属性

  @classmethod

  def classMethod(cls, name):

  print cls.data, name

  # 静态方法,不可以访问类属性

  @staticmethod

  def staticMethod(name):

  print name

Python静态函数和普通方法的区别

  三种方法都可以通过实例来调用,但是静态方法和类方法无法访问实例属性,所以更改了tst.data仅对普通方法起了作用

  tst = Tst()

  tst.data = 'this is new'

  tst.normalMethod('name')

  tst.staticMethod('name')

  tst.classMethod('name')

  #结果

  this is new name

  name

  this is data name

  区别

  普通方法不能通过类名调用,但是静态方法和类方法是可以的

  # error普通方法必须通过实例调用#

  Tst.normalMethod('name')Tst.classMethod('name')

  Tst.staticMethod('name')#结果this is data name

  name

  总结:

  1、普通方法,可以通过self访问实例属性

  def normalMethod(self,data)

  2、类方法,可以通过cls访问类属性

  @classmethod

  def classMethod(cls,data)

  3、静态方法,不可以访问,通过传值的方式

  @staticmethod

  def staticMethod(data)

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


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

热线电话

17727591462

上班时间

周一到周五

二维码
线