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是...