python筆記34-類里面的__str__ 和__unicode__作用


前言

最近學django,看到不少教程里面models.py里面建表,寫一個類的時候,習慣上加個__str__ ,開始不太明白,簡單的實踐后才知道是為了美化類實例的打印內容。
python3 里面用__str__ ,python2里面用__unicode__

寫個類

先寫個簡單的類,實例化后打印實例的結果

class Person():
    def __init__(self):
        self.name = "張三"

if __name__ == '__main__':
    a = Person()
    print(a)

打印結果:<main.Person object at 0x0000000001E79828>

這個實例化后的結果顯示.Person object 顯示的內容看不懂,為了美化輸出,可以加個__str__方法

__str__作用

class Person():
    def __init__(self):
        self.name = "張三"

    def __str__(self):
        return self.name

if __name__ == '__main__':
    a = Person()
    print(a)

打印結果:張三

__doc__作用

如果想讓它返回docstring里面的內容,可以return self.doc

class Person():
    '''用戶信息表'''

    def __init__(self):
        self.name = "張三"

    def __str__(self):
        return self.__doc__

if __name__ == '__main__':
    a = Person()
    print(a)

打印結果:用戶信息表

備注:python3 里面用__str__ ,python2里面用__unicode__

python自動化交流 QQ群:779429633


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM