Python 類有一些內(nèi)置方法,這些方法在創(chuàng)建和操作對象時會自動調(diào)用。以下是一些常見的內(nèi)置方法:
__init__(self, ...)
: 構(gòu)造函數(shù),當(dāng)創(chuàng)建一個新對象時會調(diào)用這個方法。可以用來初始化對象的屬性。__del__(self)
: 析構(gòu)函數(shù),當(dāng)對象被銷毀時會調(diào)用這個方法??梢杂脕韴?zhí)行清理操作,如關(guān)閉文件、釋放資源等。__str__(self)
: 返回一個字符串,表示對象的可讀形式。當(dāng)使用 print()
函數(shù)打印對象或者使用 str()
函數(shù)轉(zhuǎn)換對象為字符串時會調(diào)用這個方法。__repr__(self)
: 返回一個字符串,表示對象的“官方”字符串表示。通常用于調(diào)試,包含更多信息。當(dāng)使用 repr()
函數(shù)轉(zhuǎn)換對象為字符串時會調(diào)用這個方法。__call__(self, *args, **kwargs)
: 當(dāng)對象被當(dāng)作函數(shù)調(diào)用時會調(diào)用這個方法??梢允沟脤ο笙窈瘮?shù)一樣可調(diào)用。__getattr__(self, name)
: 當(dāng)訪問對象的屬性不存在時會調(diào)用這個方法??梢杂脕韺崿F(xiàn)動態(tài)屬性或攔截屬性訪問。__setattr__(self, name, value)
: 當(dāng)給對象的屬性賦值時會調(diào)用這個方法??梢杂脕頂r截屬性賦值操作。__getitem__(self, key)
: 當(dāng)使用索引訪問對象(如 obj[key]
)時會調(diào)用這個方法??梢允沟脤ο笙窳斜砘蜃值湟粯涌梢酝ㄟ^索引訪問。__setitem__(self, key, value)
: 當(dāng)使用索引為對象賦值(如 obj[key] = value
)時會調(diào)用這個方法。__iter__(self)
: 當(dāng)對象被用于迭代(如 for item in obj:
)時會調(diào)用這個方法。返回一個迭代器對象。__next__(self)
: 當(dāng)?shù)餍枰祷叵乱粋€元素時會調(diào)用這個方法。返回下一個元素或拋出 StopIteration
異常表示迭代結(jié)束。這些內(nèi)置方法可以根據(jù)需要在類定義中重寫,以實現(xiàn)特定的功能。