首页 > 代码库 > python3 staticmethod

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(),和类没有直接关系

  

python3 staticmethod