python中有实例方法,类方法,静态方法,普通函数

python 实例方法,类方法,静态方法,普通函数

类方法需要@ classmethod 修饰并且有个隐藏参数 cls,实例方法必须有个参数 self, 静态方法必须有 @staticmethod修饰

普通函数限制:

def ordinary_function(formal_parameter):
        print "I am an ordinary function, I can't vist class var and intance var"
        print self.instance_var #报错,因此普通函数无法访问实例方法
        print clacc_var#报错,因此普通函数无法访问类变量

 实例方法可以添加参数,也可以不添加参数:

python 实例方法,类方法,静态方法,普通函数

下面这段代码能正确运行。add是一个实例方法,fcn也是实例方法,所以实例方法能调用实例方法,但普通函数是不能调用实例方法的

class TestClass(object):
  val1 = 100
   
  def __init__(self):
    self.val2 = 200
   
  def fcn(self,val = 400):
    val3 = 300
    self.val4 = val
    self.val5 = 500
    result = self.val4 + self.val5
    return result

  def add(self):
    return self.fcn() + 1


if __name__ == '__main__':
  inst = TestClass()
  print inst.add()

 

相关文章:

  • 2021-08-23
  • 2021-11-01
  • 2021-11-08
  • 2021-06-12
  • 2021-08-26
  • 2021-09-28
  • 2021-10-23
  • 2021-07-01
猜你喜欢
  • 2021-07-09
  • 2022-12-23
  • 2021-10-31
  • 2021-07-15
  • 2021-10-26
  • 2021-08-29
相关资源
相似解决方案