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#报错,因此普通函数无法访问类变量

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

下面这段代码能正确运行。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()

 

posted @ 2017-08-16 22:18  有梦就要去实现他  阅读(721)  评论(0编辑  收藏  举报