前言
最近學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