日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

[python整理]@staticmethod和@classmethod的作用

系統 1694 0

前言

知識在于細節,整理很重要。

            
              在python中,有
              
                3
              
              類方法:

              
                1
              
              ) 靜態方法
              
                (
              
              staticmethod
              
                )
              
              
                2
              
              ) 類方法(classmethod)

              
                3
              
              
                )
              
               實例方法

            
          

其中靜態方法和類方法是不需要進行實例就可以直接調用,語法格式:

            
              類名
              
                .
              
              方法名

            
          

具體舉個例子說明

            
              
                def
              
              
                func
              
              
                (
              
              x
              
                )
              
              
                :
              
              
                print
              
              
                (
              
              
                "hello,我是常用方法"
              
              
                )
              
              
                class
              
              
                Fun
              
              
                :
              
              
                def
              
              
                func1
              
              
                (
              
              self
              
                ,
              
              x
              
                )
              
              
                :
              
              
                print
              
              
                (
              
              
                "hello,我是類中方法"
              
              
                ,
              
              x
              
                ,
              
              self
              
                )
              
              
       
   @
              
                classmethod
              
              
                def
              
              
                func2
              
              
                (
              
              cls
              
                ,
              
              x
              
                )
              
              
                :
              
              
                print
              
              
                (
              
              
                "hello,我是類中方法"
              
              
                ,
              
              cls
              
                ,
              
              x
              
                )
              
              
       
    @
              
                staticmethod
              
              
                def
              
              
                func3
              
              
                (
              
              x
              
                )
              
              
                :
              
              
                print
              
              
                (
              
              
                "hello,我是類中方法"
              
              
                ,
              
              x
              
                )
              
            
          

self與cls區別

            
              
                1
              
               self表示一個具體的實例本身
如果用了staticmethod
              
                ,
              
              那么就可以無視這個self
              
                ,
              
              將這個方法當成一個普通的函數使用

              
                2
              
               cls 表示這個類本身

              
                3
              
               類先調用__new__方法,返回該類的實例對象,這個實例對象就是__init__方法的第一個參數self
              
                ,
              
              即self是__new__的返回值

            
          

調用形式
1. 普通方法

            
              func
              
                (
              
              
                )
              
              
                #普通方法調用
              
            
          

2. 類中普通方法

            
              f 
              
                =
              
               Fun
              
                (
              
              
                )
              
              
                # 實例化類
              
              
f
              
                .
              
              func1
              
                (
              
              
                )
              
              
                #普通方法調用
              
            
          

3. 類中靜態方法

            
              Fun
              
                .
              
              func2
              
                (
              
              
                123
              
              
                )
              
            
          

4. 類中靜態方法

            
              Fun
              
                .
              
              func3
              
                (
              
              
                123
              
              
                )
              
            
          

資源下載
資源下載


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 商丘市| 南和县| 盱眙县| 扎囊县| 资兴市| 栾川县| 东方市| 新郑市| 永年县| 泽州县| 浦东新区| 榆树市| 衡水市| 瑞丽市| 秦安县| 教育| 江门市| 丁青县| 太保市| 浦江县| 家居| 富蕴县| 青川县| 宝兴县| 观塘区| 广南县| 南川市| 利津县| 布尔津县| 乐陵市| 拜泉县| 达州市| 佛山市| 昭苏县| 皮山县| 赤城县| 阜南县| 临武县| 凉城县| 合作市| 大理市|