在不須要程序員定義,自己就存在的類中的方法就是內置方法程序員
內置方法: __名字__函數
__init__ 不須要咱們主動調用,而是在實例化的時候內部自動調用的,存在一種自動觸發它的語法spa
__str__
當你打印一個對象的時候 觸發__str__
當你使用%s格式化的時候 觸發__str__
str強轉數據類型的時候 觸發__str__
__repr__
repr是str的備胎
有__str__的時候執行__str__,沒有實現__str__的時候,執行__repr__
repr(obj)內置函數對應的結果是 __repr__的返回值
當你使用%r格式化的時候 觸發__repr__
class A: def __init__(self,name,age,sex): self.name = name self.age = age self.sex = sex def __str__(self): return "str %s %s %s"%(self.name,self.age,self.sex) def __repr__(self): return "repr %s %s %s"%(self.name,self.age,self.sex) a = A("lin",23,"男") print(a) #str lin 23 男 #打印對象a時,自動執行str 方法, # 當存在str時,直接打印就只執行str而不會執行repr方法,若是沒有str就執行repr print(repr(a)) #repr lin 23 男 能夠經過調用來執行repr方法 print("%r"%a) #repr lin 23 男 經過%r也能夠調用repr方法 print("%s"%a) #str lin 23 男 經過%s調用的是str方法