python class method,static method - WBowam/wbowam.github.com GitHub Wiki

Date: 2014-07-7 Title: python 实例方法,静态方法,类方法 Tags: Python Category: It

实例方法(@郭叔)

字面意思:实例的方法,即只有实例能使用的方法,相对于类方法和静态方法。

实例方法的第一个参数默认为self,代指实例。

如:

class Foo:
    ##init()是生成实例时默认调用的实例方法,用于初始化详细见[__init__方法](#)
    ###第一个参数默认为self
    def __init__(self, name):
        self.name = name
        self.author="Tulpar"
    ##又一个实例方法
    def hi(self):
        print self.name
        print "Created by %s"%self.author
self不是一个关键字,而是约定的写法。也可以换成任意字符串,如'guoshu'
    ###第一个参数默认为guoshu,作用和self一样
    def __init__(guoshu, name):
        guoshu.name = name
        guoshu.author="Tulpar"
    ##又一个实例方法
    def hi(guoshu):
        print guoshu.name
        print "Created by %s"%guoshu.author

静态方法

静态方法是一种普通函数,就位于类定义的命名空间中,它不会对任何实例类型进行操作。使用装饰器@staticmethod定义静态方法。类对象和实例都可以调用静态方法

class Foo:
    ##静态方法走起
    @staticmethod
    def add(a, b):
        print a + b

运行结果

###生成实例f1
>f1=Foo(u'果树')
###实例能用静态方法
>f1.add(3,5)
###类对象也能使用静态方法
>Foo(3,5)
###输出结果
8
8

类方法

正在更新!!

⚠️ **GitHub.com Fallback** ⚠️