码迷,mamicode.com
首页 > 其他好文 > 详细

实例方法、类方法和静态方法区别

时间:2019-10-01 13:47:40      阅读:96      评论:0      收藏:0      [点我收藏+]

标签:实参   div   描述   fan   bsp   参数   otto   font   成员   

 

class A:
# 实例方法:
  def f1(self):
    return 1
# 类方法:
  @classmethod
  def f2(cls):
    return 2
# 静态方法
  @staticmethod
  def f3():
    return 3
 
a = A()
 
a.f1() # => 1
A.f1(a) # => 1
a.f2() # => 2
A.f2() # => 2
a.f3() # => 3
A.f3() # => 3
  • 实例方法(也叫成员方法,用于描述对象的固有行为):默认将当前实例对象传递为第一个参数
  • 类方法(类方法在定义时,方法在上面必须添加@classmethod):默认将当前类传递为第一个参数
  • 静态方法(静态方法在定义时,方法在上面必须添加@staticmethod): 没有默认的第一个参数

实例方法调用格式:

  对象名.方法名()

类方法调用格式:

  类名.方法名(参数) 推荐使用方法

  对象名.方法名(实参)不推荐使用

注意:

(1)类方法定义在勒种,不属于某个对象的具体行为,可以被所有对象共同使用的行为

(2)类方法中不允许使用实例变量和实例方法,实例方法中允许使用类变量和类方法,推荐使用类名调用

(3)实例方法中允许使用类变量和类方法

静态方法调用格式:

  类名.方法名(实参) 推荐使用

  对象名.方法名(实参)不推荐使用

实例方法、类方法和静态方法区别

标签:实参   div   描述   fan   bsp   参数   otto   font   成员   

原文地址:https://www.cnblogs.com/maplethefox/p/11615190.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!