python 中的static-method (静态函数), classmethod(类函数 ), 成员函数
生活随笔
收集整理的這篇文章主要介紹了
python 中的static-method (静态函数), classmethod(类函数 ), 成员函数
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
python 中的static-method (靜態(tài)函數(shù)), classmethod(類函數(shù) ), 成員函數(shù)
簡介
類似Java、CPP中的類,可以定義static method、class method,python內(nèi)也可以定義這類方法體。
這是通過python的注解來做的。
定義方法
類函數(shù)(@classmethod):定義類方法,可以通過類或者實例調(diào)用。方法的第一個參數(shù)是class對象。
成員函數(shù): 實例的方法, 只能通過實例進行調(diào)用;第一個參數(shù)是該實例self。
靜態(tài)函數(shù)(@staticmethod): 定義靜態(tài)方法,可以通過類或者實例調(diào)用。第一個參數(shù)不需要是class對象或者實例self、
示例
來自網(wǎng)友的示例,可以看到
#-*-coding:utf-8-*-class PythonMethodSample(object):_g = 1def instanceMethod(self,x):print('executing instanceMethod(%s,%s)' %(self,x))@classmethoddef classMethod(cls,x):print('executing classMethod(%s,%s)' %(cls,x))@staticmethoddef staticMethod(x):print('executing staticMethod(%s)' %x) a = PythonMethodSample() a.instanceMethod(1) a.classMethod(1) PythonMethodSample.classMethod(1) a.staticMethod(1) PythonMethodSample.staticMethod('hi')print(a.instanceMethod) print(a.classMethod) printa.staticMethod)檢查輸出
executing instanceMethod(<__main__.PythonMethodClass object at 0x1004c3790>,1) executing classMethod(<class '__main__.PythonMethodClass'>,1) executing classMethod(<class '__main__.PythonMethodClass'>,1) executing staticMethod(1) executing staticMethod(hi) <bound method PythonMethodClass.instanceMethod of <__main__.PythonMethodClass object at 0x1004c3790>> <bound method type.classMethod of <class '__main__.PythonMethodClass'>> <function staticMethod at 0x1004dd410>總結(jié)
以上是生活随笔為你收集整理的python 中的static-method (静态函数), classmethod(类函数 ), 成员函数的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 欧盟告诉马斯克:Twitter 需多多努
- 下一篇: python中的库及module的 路径