python3 staticmethod

  • staticmethod 静态方法和类的关系:通过类名调用,方法里不能调用实例的任何属性
class Dog(object):
  def __init__(self,name):
      self.name = name
      
  @staticmethod # 把eat方法变成静态方法
  def eat(self):
      print('%s is eating' % self.name)
      
d = Dog('wangwang')
d.eat() # 正常方法,可以调用,用静态方法不可以调用,会报错
##### 可以这么做
d.eat(d)
Dog.eat('eangwang)
实际上,相当于可以直接写成 def eat(),和类没有直接关系

  

posted @ 2017-03-17 13:38  没有为什么  阅读(348)  评论(0编辑  收藏  举报