亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

Python自定義類中內部函數:__repr__()和__string__

系統 1528 0

我們在定義Python類時,經常會看到比較好的代碼中,都有__repr__和__string__,兩個內部函數的定義。但是我一直很少關注它們的區別和具體應用場景。稍微做個小結。

1.__foo()__在python中表示__foo__是一個私有private 函數,在CookBook pp254中,解釋為,該函數不會被子類的相同名稱的函數重載。一般地說,類中以“下劃線”開頭定義的變量或者函數都是私有變量或者內部函數,區別是:

? 1.1 單下劃線開始的變量或者函數表示非公有名稱,會被子類初始化時處理,也就是說暴露給繼承的子類。

? 1.2 雙下劃線開頭的變量或函數會對子類隱藏

2.__repr__(),可以被用于obj=eval(repr(obj)),也就說是可以用該函數返回值的字符串文本重新創建該類的實例;而__str__(),是將實例轉換為一個字符串。

?

            
              #coding:utf-8
class Test():
    def __init__(self,x,y):
        self.x=x
        self.y=y

    def __repr__(self):
        return 'Test({0.x!r},{0.y!r})'.format(self)   

    def __str__(self):   #convert the instance to string,then print out
        return '({0.x!s},{0.y!s})'.format(self)


#output:
In [4]: from my_repr import Test
In [5]: test=Test
In [6]: test
Out[6]: my_repr.Test
In [7]: test=Test(3,4)  #實例化對象
In [8]: test
Out[8]: Test(3,4)   #返回的是__repr__()中的字符串
In [9]: print(test)  #返回的是__str__()的值
(3,4)
In [10]: tt=eval(repr(test))  #tt是Test類的另一個實例
In [11]: tt
Out[11]: Test(3,4)
In [12]: id(tt)==id(test)
Out[12]: False
In [13]: id(tt)
Out[13]: 2302160271176
In [14]: id(test)
Out[14]: 2302160237176
In [15]: type(test)==type(tt)
Out[15]: True

            
          

?


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

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

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

【本文對您有幫助就好】

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

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 精品午夜国产在线观看不卡 | 国产95在线 | 亚洲 | 亚洲欧洲一区二区三区在线观看 | 91手机视频在线 | 7777精品伊人久久久大香线蕉 | 亚洲一区免费在线观看 | 免费精品精品国产欧美在线 | 欧美 日韩 国产 在线 | 99国产在线 | 在线亚洲综合 | 国产精品柳州莫菁身材四 | 国产精品一区二区久久精品涩爱 | 四虎国产精品永久在线播放 | 欧美色黄视频 | 天天草天天草 | 日日日夜夜操 | ww亚洲ww在线观看国产 | 毛片基地视频 | 1000部羞羞禁止免费观看视频 | 日本欧美一区二区三区在线 | 天天操夜夜艹 | 成年女人视频在线观看免费 | 一级毛片观看 | 欧美在线操 | 国产粉嫩白浆在线观看 | 午夜久久久精品 | 国产毛片儿 | 久久国产精品免费一区二区三区 | 中文字幕波多野不卡一区 | 欧美一级片网 | 国产成人综合日韩精品无 | 久视频免费精品6 | 97综合网 | 亚洲成人观看 | 亚洲精品成人7777在线观看 | 四虎影视国产精品婷婷 | 欧美操人视频 | 久久精品国产麻豆不卡 | 99久久久久国产精品免费 | 免费观看欧美一级高清 | 欧美一级毛片欧美毛片视频 |