亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python中 __str__和__dict__怎么用

發布時間:2021-11-01 17:28:24 來源:億速云 閱讀:227 作者:小新 欄目:編程語言

這篇文章主要介紹了python中 __str__和__dict__怎么用,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

__str__ ,__unicode__

 使用版本:python 3+ 以后 ,刪除了__unicode__ 轉而用 __str__  代替

說明:

1、__str__ 是被 print 函數調用的,一般都是return一個什么東西。

2、這個東西應該是以字符串的形式表現的。如果不是要用str()函數轉換。

3、當你打印一個類的時候,那么print首先調用的就是類里面的定義的__str__

class A():
    def __init__(self):
        self.name='lee'
        self.age=18
        self.job='it'
    def __str__(self):   #重寫
        return 'xxx'
a=A()
print(A)            #輸出 <class '__main__.A'>
print(a)            #輸出xxx
print(str(a))       #輸出xxx
print(str(A))       #輸出 <class '__main__.A'>
print(A.__str__)    #輸出 <function A.__str__ at 0x00000000011C9510>
print(a.__str__)    #輸出<bound method A.__str__ of <__main__.A object at 0x0000000000A49048>>

__dict__

一個對象的屬性查找順序遵循首先查找實例對象自己,然后是類,接著是類的父類。

  • __dict__是一個字典,鍵是屬性名,值為屬性值。

  • 實例有自己的__dict__,它對應的類也有自己的__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__': <function A.__init__ at 0x0000000000B3F9D8>,
 '__dict__': <attribute '__dict__' of 'A' objects>,
 '__weakref__': <attribute '__weakref__' of 'A' objects>, 
'__doc__': None, '__module__': '__main__'}
'''

當打印 的__dict__屬性時,列出了類所包含的屬性,包括一些類內置屬性和類變量及構造方法__init__

當打印 實例對象 的 __dict__ 屬性時,則打印 這個對象的 key ,value

字典轉對象技巧

當我們有一個字典時,如

bokeyuan={"b":1,
       "o":2,
       "k":3,
       "e":4,
       "y":5,
       "u":6,
       "a":7,
       "n":8,     
       }

現在想將其轉換為一個對象,通常會這樣寫:

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']

現在可以使用__dict__

class DicToObj():
    def __init__(self,bokeyuan):
            self.__dict__.update(bokeyuan)

感謝你能夠認真閱讀完這篇文章,希望小編分享的“python中 __str__和__dict__怎么用”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

廊坊市| 贞丰县| 若羌县| 青岛市| 柞水县| 平谷区| 吐鲁番市| 常德市| 鄢陵县| 扶绥县| 连城县| 博罗县| 阿鲁科尔沁旗| 甘谷县| 米林县| 菏泽市| 教育| 资溪县| 高碑店市| 大荔县| 建湖县| 宜兰县| 交城县| 筠连县| 搜索| 游戏| 东阳市| 临武县| 东莞市| 民县| 沅江市| 广水市| 孝感市| 延津县| 桂东县| 西华县| 准格尔旗| 中阳县| 云龙县| 汝南县| 元江|