Python 实例方法、类方法、静态方法的区别与作用

2020-04-03  本文已影响0人  时间煮菜

这三种方法都定义在类中。其中实例对象的权限最大。

下面这个类包含了这三种方法,从调用可以看出他们的用法。

class A(object):
    bar = 1
    def foo(self):
        print 'foo'

    @staticmethod
    def static_foo():
        print A.bar

    @classmethod
    def class_foo(cls):
        cls().foo()

A.static_foo()
A.class_foo()
a = A()
a.foo()

实例方法/对象方法

image

类方法

class Person:
  type = '人类'
 
  @classmethod
  def test(cls):
    print(cls.type)
 
 
Person.test()

静态方法

class Game:
 
  @staticmethod
  def menu():
    print('------')
    print('开始[1]')
    print('暂停[2]')
    print('退出[3]')
 
 
Game.menu()
上一篇 下一篇

猜你喜欢

热点阅读