新聞中心
這篇文章主要介紹了python中 __str__和__dict__怎么用,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
目前累計(jì)服務(wù)客戶成百上千家,積累了豐富的產(chǎn)品開發(fā)及服務(wù)經(jīng)驗(yàn)。以網(wǎng)站設(shè)計(jì)水平和技術(shù)實(shí)力,樹立企業(yè)形象,為客戶提供成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)、網(wǎng)站策劃、網(wǎng)頁設(shè)計(jì)、網(wǎng)絡(luò)營銷、VI設(shè)計(jì)、網(wǎng)站改版、漏洞修補(bǔ)等服務(wù)。成都創(chuàng)新互聯(lián)公司始終以務(wù)實(shí)、誠信為根本,不斷創(chuàng)新和提高建站品質(zhì),通過對領(lǐng)先技術(shù)的掌握、對創(chuàng)意設(shè)計(jì)的研究、對客戶形象的視覺傳遞、對應(yīng)用系統(tǒng)的結(jié)合,為客戶提供更好的一站式互聯(lián)網(wǎng)解決方案,攜手廣大客戶,共同發(fā)展進(jìn)步。
__str__ ,__unicode__
使用版本:python 3+ 以后 ,刪除了__unicode__轉(zhuǎn)而用 __str__ 代替
說明:
1、__str__ 是被 print函數(shù)調(diào)用的,一般都是return一個(gè)什么東西。
2、這個(gè)東西應(yīng)該是以字符串的形式表現(xiàn)的。如果不是要用str()函數(shù)轉(zhuǎn)換。
3、當(dāng)你打印一個(gè)類的時(shí)候,那么print首先調(diào)用的就是類里面的定義的__str__
class A(): def __init__(self): self.name='lee' self.age=18 self.job='it' def __str__(self): #重寫 return 'xxx' a=A() print(A) #輸出print(a) #輸出xxx print(str(a)) #輸出xxx print(str(A)) #輸出 print(A.__str__) #輸出 print(a.__str__) #輸出 >
__dict__
一個(gè)對象的屬性查找順序遵循首先查找實(shí)例對象自己,然后是類,接著是類的父類。
__dict__是一個(gè)字典,鍵是屬性名,值為屬性值。
實(shí)例有自己的__dict__,它對應(yīng)的類也有自己的__dict__
但是有些特殊的對象是沒有__dict__屬性的,這里不做討論
class A(): def __init__(self): self.name='lee' self.age=18 self.job='it' a=A() print(a.__dict__) #輸出 {'name': 'lee', 'job': 'it', 'age': 18} print(A.__dict__) ''' 輸出類所有的 屬性 {'__init__':, '__dict__': , '__weakref__': , '__doc__': None, '__module__': '__main__'} '''
當(dāng)打印 類的__dict__屬性時(shí),列出了類所包含的屬性,包括一些類內(nèi)置屬性和類變量及構(gòu)造方法__init__
當(dāng)打印 實(shí)例對象的 __dict__ 屬性時(shí),則打印 這個(gè)對象的 key ,value
字典轉(zhuǎn)對象技巧
當(dāng)我們有一個(gè)字典時(shí),如
bokeyuan={"b":1, "o":2, "k":3, "e":4, "y":5, "u":6, "a":7, "n":8, }
現(xiàn)在想將其轉(zhuǎn)換為一個(gè)對象,通常會這樣寫:
class Dict2Obj: def __init__(self,bokeyuan): self.b = bokeyuan['b'] self.o = bokeyuan['o'] self.k = bokeyuan['k'] self.e = bokeyuan['e'] self.y = bokeyuan['y'] self.u = bokeyuan['u'] self.a = bokeyuan['a'] self.n = bokeyuan['n']
現(xiàn)在可以使用__dict__
class DicToObj(): def __init__(self,bokeyuan): self.__dict__.update(bokeyuan)
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“python中 __str__和__dict__怎么用”這篇文章對大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!
網(wǎng)頁名稱:python中__str__和__dict__怎么用
本文網(wǎng)址:http://fisionsoft.com.cn/article/pgcoid.html