1073png

# Created by GeeCall
# filename :python_static_class_method.py

class StaticMethod:
    @staticmethod
    def foo():
        print ("This is static method foo().")

class ClassMethod:
    @classmethod
    def bar(cls):
        print ("This is class method bar().")
        print ("bar() is part of class: %s" % cls.__name__)

static_foo = StaticMethod()    #实例化
static_foo.foo()               #实例调用静态方法
StaticMethod.foo()             #通过类来调用静态方法

class_bar = ClassMethod()
class_bar.bar()
ClassMethod.bar()

@staticmethod 表示下面的方法是静态方法
@classmethod 表示下面的方法是类方法
静态方法,虽然名为静态方法,但也是方法,所以,依然用 def 语句来定义。需要注意的是文件名后面的括号内没有 self 。
类方法,同样也具有一般方法的特点,区别也在参数上。类方法的参数也没有 self,但是必须有 cls 。

  • 代码
    160 引用 • 44 回帖
  • python

    Python (发音:[ paiθ(ə)n; (US) paiθɔn ]n. 蟒蛇,巨蛇 ),是一种面向对象的解释性的计算机程序设计语言,也是一种功能强大而完善的通用型语言,已经具有十多年的发…

    7951 引用 • 22 回帖 • 2 关注
  • 廖雪峰教学
    30 引用 • 8 回帖 • 1 关注
感谢    赞同    分享    收藏    关注    反对    举报    ...