日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
在Python中使用@staticmethod裝飾器定義靜態(tài)方法

@staticmethod是一個(gè)內(nèi)置的裝飾器,它在 Python 的類中定義了一個(gè)靜態(tài)方法。 靜態(tài)方法不接收任何引用參數(shù),無論它是由類的實(shí)例調(diào)用還是由類本身調(diào)用。

10年積累的網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶對(duì)網(wǎng)站的新想法和需求。提供各種問題對(duì)應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先網(wǎng)站制作后付款的網(wǎng)站建設(shè)流程,更有榕城免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。

@staticmethod 特性

  • 在類中聲明靜態(tài)方法。
  • 它不能有clsself參數(shù)。
  • 靜態(tài)方法無法訪問類屬性或?qū)嵗龑傩浴?/li>
  • 靜態(tài)方法可以使用ClassName.MethodName()調(diào)用,也可以使用object.MethodName()調(diào)用。
  • 它可以返回類的對(duì)象。

下面的示例演示如何在類中定義靜態(tài)方法:

Example: Define Static Method

class Student:
    name = 'unknown' # class attribute

    def __init__(self):
        self.age = 20  # instance attribute

    @staticmethod
    def tostring():
        print('Student Class') 

上面,Student類使用@staticmethod裝飾器將tostring()方法聲明為靜態(tài)方法。 注意不能有selfcls參數(shù)。

靜態(tài)方法可以使用ClassName.MethodName()object.MethodName()調(diào)用,如下圖所示。

Example: Calling Class Method using Object

>>> Student.tostring()
'Student Class'
>>> Student().tostring() 
'Student Class'
>>> std = Student()
>>> std.tostring()
'Student Class' 

靜態(tài)方法無法訪問類屬性或?qū)嵗龑傩?。如果嘗試這樣做,將會(huì)引發(fā)錯(cuò)誤。

Example: Static Method

class Student:
    name = 'unknown' # class attribute

    def __init__(self):
        self.age = 20  # instance attribute

    @staticmethod
    def tostring():
        print('name=',name,'age=',self.age) 

當(dāng)您調(diào)用上面的靜態(tài)方法時(shí),下面將是輸出。

>>> Student.tostring()
Traceback (most recent call last):
  File "", line 1, in 
    Student.tostring()
  File "", line 7, in display
    print('name=',name,'age=',self.age)
NameError: name 'name' is not defined 

@classmethod vs @staticmethod

下表列出了類方法與靜態(tài)方法的區(qū)別:

@classmethod @staticmethod
聲明一個(gè)類方法。 聲明一個(gè)靜態(tài)方法。
它可以訪問類屬性,但不能訪問實(shí)例屬性。 它不能訪問類屬性或?qū)嵗龑傩浴?/td>
可以使用ClassName.MethodName()object.MethodName()來調(diào)用。 可以使用ClassName.MethodName()object.MethodName()來調(diào)用。
它可以用來聲明返回類對(duì)象的工廠方法。 它可以返回類的對(duì)象。

分享文章:在Python中使用@staticmethod裝飾器定義靜態(tài)方法
網(wǎng)站路徑:http://m.5511xx.com/article/djophgs.html