新聞中心
這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
創(chuàng)新互聯(lián)Python教程:python中選擇staticmethod的好處
在調(diào)用類的時候,我們有很多方法可以選擇,最后使用staticmethod解決問題是因為它本身的一些獨特使用優(yōu)勢。小編在一些代碼示例的練習中,發(fā)現(xiàn)使用staticmethod時非常靈活,就拿實例化使用而言,其實對于staticmethod來說并沒有嚴格的限制。下面就python中選擇staticmethod的好處,我們用兩個代碼示例進行演示。

代碼示例1:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
class C(object):
@staticmethod
def f():
print('runoob');
C.f(); # 靜態(tài)方法無需實例化
cobj = C()
cobj.f() # 也可以實例化后調(diào)用
以上實例輸出結(jié)果為:
runoob runoob
以上實例聲明了靜態(tài)方法 f,從而可以實現(xiàn)實例化使用 C().f(),當然也可以不實例化調(diào)用該方法 C.f()。
代碼示例2:
class Demo(): def fun1(self): Pass @classmethod def fun2(cls): pass @staticmethod def fun3(var): pass demo = Demo() print(demo) print(demo.fun1) print(demo.fun2) print(demo.fun3)
-
在class內(nèi)定義的普通方法(fun1),因為它是要面向?qū)嵗瘜ο蟮囊粋€實例方法。
-
在class內(nèi)定義的類方法(fun2),它第一個參數(shù)必須是cls,并與class本身是綁定關系,它也屬于方法,但不屬于實例方法,可以被實例對象調(diào)用。
-
在class內(nèi)定義的靜態(tài)方法(fun3),它與任何對象都沒有聯(lián)系,等同于是在class外定義的function,它屬于函數(shù)。
以上就是我們在python中選擇staticmethod的兩個好處,相信小伙伴們已經(jīng)在代碼的演示中體會到了,學會后可以在課后勤加練習,然后熟能生巧。
文章名稱:創(chuàng)新互聯(lián)Python教程:python中選擇staticmethod的好處
文章地址:http://m.5511xx.com/article/cocpcsd.html


咨詢
建站咨詢
