一、__str__方法簡介
__str__
是Python中的一個特殊方法,用於創建一個對象的字符串表示形式。當我們打印一個對象時,實際上是調用該對象的__str__
方法,將其返回值輸出到控制台。這個方法可以讓我們自定義一個對象的字符串輸出形式,方便調試和理解。
二、__str__方法的使用
在創建一個類時,我們可以添加__str__
方法來自定義它的字符串輸出形式,代碼如下:
class MyClass:
def __init__(self, name, age):
self.name = name
self.age = age
def __str__(self):
return f"My name is {self.name}, I am {self.age} years old."
這裡我們創建了一個名為MyClass
的類,它有兩個屬性:name
和age
,以及一個__str__
方法,該方法返回一個字符串來描述我們的這個實例。
在實例化這個類後,我們可以直接使用print()
函數來輸出這個類的實例,代碼如下:
mc = MyClass("Alice", 23)
print(mc)
輸出結果為:
My name is Alice, I am 23 years old.
從結果可以看出,我們成功地定義了這個類的字符串輸出形式。
三、__str__方法的實例
1.自定義一個日期格式的類
在Python中,日期是一個常用的類,它的默認字符串輸出形式為:YYYY-MM-DD
的格式。我們可以通過__str__
方法來自定義這個格式,代碼如下:
class Date:
def __init__(self, year, month, day):
self.year = year
self.month = month
self.day = day
def __str__(self):
return f"{self.year}/{self.month}/{self.day}"
在實例化這個類後,我們可以按照自定義的日期格式來輸出這個類的實例,代碼如下:
d = Date(2022, 11, 11)
print(d)
輸出結果為:
2022/11/11
2.自定義一個複數的類
在Python中,複數是一個常用的數據類型,它的默認字符串輸出形式為:a+bj
的格式。我們可以通過__str__
方法來自定義這個格式,代碼如下:
class Complex:
def __init__(self, real, imag):
self.real = real
self.imag = imag
def __str__(self):
return f"{self.real}+{self.imag}j"
在實例化這個類後,我們可以按照自定義的複數格式來輸出這個類的實例,代碼如下:
c = Complex(3, 4)
print(c)
輸出結果為:
3+4j
3.自定義一個身份證號碼的類
在中國,身份證號碼是一個常用的標識,它的默認字符串輸出形式為:XXXXXXXXXXXXXXXXX
的格式。我們可以通過__str__
方法來自定義這個格式,代碼如下:
class IDCard:
def __init__(self, id_num):
self.id_num = id_num
def __str__(self):
return self.id_num[:6] + "********" + self.id_num[-4:]
在實例化這個類後,我們可以按照自定義的身份證號碼格式來輸出這個類的實例,代碼如下:
idc = IDCard("110101199001010011")
print(idc)
輸出結果為:
110101********0011
四、總結
通過__str__
方法的使用,我們可以自定義一個類的字符串輸出形式,使得輸出的內容更加清晰明了,方便我們進行調試和理解。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/292068.html