括號是一個運算子,叫做函式呼叫運算子。它的作用是對括號前面的表示式計算出的結果進行一次呼叫。
例如 df.unique 這個表示式,運算出來是一個函式。你到後面加一個括號,那就是把這個函式呼叫了。呼叫函式的結果是函式的返回值。
可呼叫的不僅僅是函式,在 python 中,所有實現了 方法的物件都可以呼叫,當然函式也是一個物件,它本身也有 方法。例如: 和 都是一樣的。
其實 也是一樣的……
你可以定義一個類,例如:
它就是一個普通的類,但是你給它加個 方法,它一樣能執行,而且其它功能一點不受影響。
是不是覺得 Cup 後面跟了 2 個括號,特奇怪?
哈哈,是不是很有趣?其實只要按照運算子一個一個的看就可以了,不能想當然,要理解它是真麼意義。
比如,上面的 Cup 是一個類,在類後面加一個括號,結果是該類的一個例項。
:一個 Cup 例項
這個例項後面加一個括號,那就是呼叫這個例項了,我們說過這是函式呼叫運算子。我們已經知道,呼叫一個物件就是呼叫它的 方法,於是 python 就會去 Cup 類裡尋找 方法。
<=>
找到了!原來是返回 "cup",於是它就返回 "cup" 了。如果找不到 方法,它會報錯說這個物件是不能呼叫的。
所以關鍵是分解,一個一個運算子去看,每一次運算後是什麼結果,然後再用這個結果進行下一次運算。前後要邏輯嚴格,不要想當然,要知其所以然。到最後就自然而然了。
括號是一個運算子,叫做函式呼叫運算子。它的作用是對括號前面的表示式計算出的結果進行一次呼叫。
例如 df.unique 這個表示式,運算出來是一個函式。你到後面加一個括號,那就是把這個函式呼叫了。呼叫函式的結果是函式的返回值。
可呼叫的不僅僅是函式,在 python 中,所有實現了 方法的物件都可以呼叫,當然函式也是一個物件,它本身也有 方法。例如: 和 都是一樣的。
其實 也是一樣的……
你可以定義一個類,例如:
它就是一個普通的類,但是你給它加個 方法,它一樣能執行,而且其它功能一點不受影響。
是不是覺得 Cup 後面跟了 2 個括號,特奇怪?
哈哈,是不是很有趣?其實只要按照運算子一個一個的看就可以了,不能想當然,要理解它是真麼意義。
比如,上面的 Cup 是一個類,在類後面加一個括號,結果是該類的一個例項。
:一個 Cup 例項
這個例項後面加一個括號,那就是呼叫這個例項了,我們說過這是函式呼叫運算子。我們已經知道,呼叫一個物件就是呼叫它的 方法,於是 python 就會去 Cup 類裡尋找 方法。
<=>
找到了!原來是返回 "cup",於是它就返回 "cup" 了。如果找不到 方法,它會報錯說這個物件是不能呼叫的。
所以關鍵是分解,一個一個運算子去看,每一次運算後是什麼結果,然後再用這個結果進行下一次運算。前後要邏輯嚴格,不要想當然,要知其所以然。到最後就自然而然了。