關於Python函式的雙括號

2021-10-23 15:57:28 字數 546 閱讀 9219

python中函式呼叫有這麼一種用法:

def a(x):

def b(y):

return x + y

return b

print(a(2)(3))

#列印如下:

5

就是這裡的a(2)(3)這麼個用法

那麼不妨先輸出a(2)來看看是什麼

def a(x):

def b(y):

return x + y

return b

print(a(2))

#列印結果如下:

.b at 0x10cc71a60>

輸出說a(2)是乙個函式。因為傳引數2過去,函式a啥也沒乾,直接返回了b這個函式變數。如果再加乙個括號a(2)(3),就相當於是執行了:

func = a(2)

print(func(3))

至於這裡為什麼函式b可以直接作為變數返回來,請看我的另一篇文章《python函式後邊加不加括號的區別》

shell 單括號與雙中括號的區別

出現問題 如下 bin bash zxl.sh 指令碼名 if 1 1 then ssh a.a.a.a else ssh b.b.b.b fiso easy,執行指令碼 zxl.sh 1 和 zxl.sh 2 成功登入了公司伺服器和虛擬機器。今天登入的時候,卻出問題了。我今天要登入虛擬機器,直接 ...

linux shell雙括號的使用疑惑

首先copy一下其使用方法 參考 語法 表示式1,表示式2 特點 1 在雙括號結構中,所有表示式可以像c語言一樣,如 a b 等。2 在雙括號結構中,所有變數可以不加入 符號字首。3 雙括號可以進行邏輯運算,四則運算 4 雙括號結構 擴充套件了for,while,if條件測試運算 5 支援多個表示式...

Python呼叫函式加括號和不加括號的區別

一 不帶括號時,呼叫的是這個函式本身 是整個函式體,是乙個函式物件,不須等該函式執行完成 二 帶括號 引數或者無參 呼叫的是函式的執行結果,須等該函式執行完成的結果 coding utf 8 def bracket data return data if name main 不帶括號呼叫的結果 a是...