文章目錄
- `__init__` 方法
- 例子
- `__int__` 方法
- 例子
- 總結
def __int__(self):
和 def __init__(self):
是Python中兩個不同的特殊方法(或魔法方法),它們有著不同的用途和含義。
__init__
方法
- 作用:
__init__
方法是類的構造函數。當你創建類的一個實例時,Python會調用這個方法來初始化對象。 - 參數:第一個參數通常是
self
,它代表將被創建的實例。你可以傳遞其他參數來初始化實例的屬性。 - 典型使用場景:設置初始狀態,定義實例的屬性,或者進行其他初始化任務。
例子
class Example:def __init__(self, value):self.value = value# 創建一個 Example 的實例
example = Example(10)
print(example.value) # 輸出: 10
在這個例子中,__init__
方法接受一個參數 value
并將其賦值給實例屬性 self.value
。
__int__
方法
- 作用:
__int__
方法是一個特殊方法,用于定義對象被轉換為整數時的行為。它允許你自定義對象通過int()
函數或在需要整數上下文中如何轉換為整數。 - 參數:通常只有一個參數
self
,代表要被轉換的實例。 - 典型使用場景:自定義對象在整數轉換時的行為。
例子
class Example:def __init__(self, value):self.value = valuedef __int__(self):return int(self.value)# 創建一個 Example 的實例
example = Example(10.5)
print(int(example)) # 輸出: 10
在這個例子中,__int__
方法將 self.value
轉換為整數并返回。當調用 int(example)
時,__int__
方法會被調用并返回 10(即 10.5
的整數部分)。
總結
__init__
:初始化對象的構造方法。創建對象時自動調用,用于設置對象的初始狀態。__int__
:定義對象轉換為整數時的行為。通過int()
函數或在需要整數的地方自動調用。
這兩個方法的主要區別在于它們的用途和調用時機。__init__
是用于對象的初始化,而 __int__
則是用于定義對象如何被轉換為整數。