<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當(dāng)前位置: 首頁 - 科技 - 知識百科 - 正文

        pythonself,cls,decorator的理解

        來源:懂視網(wǎng) 責(zé)編:小采 時間:2020-11-27 14:39:22
        文檔

        pythonself,cls,decorator的理解

        pythonself,cls,decorator的理解:1. self, cls 不是關(guān)鍵字 在python里面,self, cls 不是關(guān)鍵字,完全可以使用自己寫的任意變量代替實(shí)現(xiàn)一樣的效果 代碼1 代碼如下:class MyTest: myname = 'peter' def sayhello(hello): print say hello to %s % h
        推薦度:
        導(dǎo)讀pythonself,cls,decorator的理解:1. self, cls 不是關(guān)鍵字 在python里面,self, cls 不是關(guān)鍵字,完全可以使用自己寫的任意變量代替實(shí)現(xiàn)一樣的效果 代碼1 代碼如下:class MyTest: myname = 'peter' def sayhello(hello): print say hello to %s % h

        1. self, cls 不是關(guān)鍵字
        在python里面,self, cls 不是關(guān)鍵字,完全可以使用自己寫的任意變量代替實(shí)現(xiàn)一樣的效果
        代碼1

        代碼如下:


        class MyTest:
        myname = 'peter'
        def sayhello(hello):
        print "say hello to %s" % hello.myname

        if __name__ == "__main__":
        MyTest().sayhello()


        代碼1中, 用hello代替掉了self, 得到的是一樣的效果,也可以替換成java中常用的this.
        結(jié)論 : self和cls只是python中約定的寫法,本質(zhì)上只是一個函數(shù)參數(shù)而已,沒有特別含義。
        任何對象調(diào)用方法都會把把自己作為該方法中的第一個參數(shù),傳遞到函數(shù)中。(因?yàn)樵趐ython中萬物都是對象,所以當(dāng)我們使用Class.method()的時候,實(shí)際上的第一個參數(shù)是我們約定的cls)
        2. 類的定義可以動態(tài)修改
        代碼2

        代碼如下:


        class MyTest:
        myname = 'peter'
        def sayhello(self):
        print "say hello to %s" % self.myname

        if __name__ == "__main__":
        MyTest.myname = 'hone'
        MyTest.sayhello = lambda self,name: "I want say hello to %s" % name
        MyTest.saygoodbye = lambda self,name: "I do not want say goodbye to %s" % name
        print MyTest().sayhello(MyTest.myname)
        print MyTest().saygoodbye(MyTest.myname)


        這里修改了MyTest類中的變量和函數(shù)定義, 實(shí)例化的instance有了不同的行為特征。
        3. decorator
        decorator是一個函數(shù), 接收一個函數(shù)作為參數(shù), 返回值是一個函數(shù)
        代碼3

        代碼如下:


        def enhanced(meth):
        def new(self, y):
        print "I am enhanced"
        return meth(self, y)
        return new
        class C:
        def bar(self, x):
        print "some method says:", x
        bar = enhanced(bar)


        上面是一個比較典型的應(yīng)用
        以常用的@classmethod為例
        正常的使用方法是
        代碼4

        代碼如下:


        class C:
        @classmethod
        def foo(cls, y):
        print "classmethod", cls, y


        這里有個疑惑的地方,不是很明白: 如果一個方法沒有使用@classmethod, 那么用Class.method()的方式,是會報錯的。但是@classmethod是個decorator, 那么它返回的也是一個函數(shù),為什么這樣就可以直接被Class調(diào)用了呢?

        聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        pythonself,cls,decorator的理解

        pythonself,cls,decorator的理解:1. self, cls 不是關(guān)鍵字 在python里面,self, cls 不是關(guān)鍵字,完全可以使用自己寫的任意變量代替實(shí)現(xiàn)一樣的效果 代碼1 代碼如下:class MyTest: myname = 'peter' def sayhello(hello): print say hello to %s % h
        推薦度:
        標(biāo)簽: python cls self
        • 熱門焦點(diǎn)

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 中国好声音第二季免费播放| 成人免费观看男女羞羞视频| 99久在线国内在线播放免费观看| 亚洲国产精品尤物yw在线| 婷婷亚洲综合一区二区| 国产精品va无码免费麻豆 | 中文字幕在线观看亚洲| 精品无码AV无码免费专区| 内射干少妇亚洲69XXX| 久久午夜羞羞影院免费观看| 亚洲美女视频网站| 在线观看av永久免费| 亚洲色中文字幕在线播放| 国产高清在线免费视频| xxxxx做受大片视频免费| 亚洲综合熟女久久久30p| 免费91麻豆精品国产自产在线观看 | 在线观看亚洲视频| 亚洲欧洲久久av| 免费成人在线电影| 亚洲成AV人片久久| 日韩免费观看的一级毛片| jizz免费观看视频| 久久亚洲精品成人av无码网站| 2021国产精品成人免费视频| 亚洲日韩AV一区二区三区四区| 全黄性性激高免费视频| 免费a级毛片无码a∨免费软件| 亚洲成人福利在线| 全部免费毛片免费播放| 免费国产叼嘿视频大全网站| 国产精品亚洲四区在线观看 | 女人被弄到高潮的免费视频| 阿v免费在线观看| 亚洲欧洲日韩国产综合在线二区| 永久免费av无码网站韩国毛片| 成人午夜免费视频| 亚洲网站在线播放| 亚洲国产高清精品线久久| 久久精品无码专区免费东京热| 久久水蜜桃亚洲AV无码精品|