Python352中函式a有時候不帶括號直接用

2021-03-04 08:49:15 字數 1152 閱讀 6551

1樓:匿名使用者

我有乙個初步理解,但不知道底層細節,python中函式名也是個變數,可以說你定義的所有名稱都是變數,所有的變數你理解成乙個指標,指向乙個空間,傳遞名稱則傳遞指標,給其他函式這個空間的開始。那麼這個()呢,在py中有個call方法,你看不到,這個括號會執行call,call會執行解釋你的**。這樣,乙個函式才算是真正執行了。

2樓:痛殤艹

map(function, iterable, ...)

即map函式接收的第乙個引數為乙個函式,可以為系統函式例如float、或者def定義的函式、或者lambda定義的函式均可。

我試了用int()反而報錯了,所以此處不用帶括號

3樓:

用def關鍵字,括號裡是引數列表def add(a, b): return a+b#下面呼叫print add(1, 2)

python函式原型定義那行有個箭頭是什麼語法?比如

4樓:紫薇參星

這是函式註解,python 3.x引入,它的特點有對函式的引數進行型別註解內,以冒號容

標記對函式的返回值進行型別註解,以箭頭標記只對函式引數或返回值做乙個輔助的說明,並不對函式引數或返回值進行型別檢查

提供給第三方工具,做**分析,發現隱藏bug函式註解的資訊,儲存在__annotations__屬性中註解本身是乙個字典型別的資料

你的程式我幫你完善了(函式註解部分的解釋見註釋),你看看吧from typing import listdef f(a) -> list[dict]: #函式註解,返回乙個字典列表,但是它不對返回值型別進行檢查

print(a)  #列印字典

return [a] #返回字典列表

print(f.__annotations__) #列印函式註解l= #把字典傳入函式

print(f(l)) #列印函式返回值

源**(注意源**的縮排)

5樓:匿名使用者

def f(a) -> list[dict]:

print(a)

return [a]

這個不是python語法,-> list[dict]: 這其實是乙個註釋,告訴你這個函式返回乙個由字典組成的list

python定義函式,在python中定義函式

params 就是 5,5 5,2 就是2個5的元組,乘號可以理解成相加。30就是30個 的字串 params作為引數,前面的 號就是把params元組分解成元素的意思,這樣就分開成為2個引數了。實際上傳遞給了x,y 於是就執行了power 5,5 在python中定義函式 涉及到狀態儲存,可以使用...

請問下python中的工廠函式和內建函式他們兩個

定義不同啊。內建函式應該是不需要import就可以使用的函式。工廠不是個函式,是個類。工廠類這要從 設計模式 說起,工廠模式。但是用起來,至少在python中,工廠模式的函式或者是類,與原來的用法沒有什麼區別。只是對於程式設計師來說,擴充套件更容易些。目前就沒有感覺差別。這些 基本 內建 之類的名詞...

python中怎麼在函式內呼叫另外函式類似

將event.py目錄加入到版system path中權 python中怎麼在乙個函式內呼叫另外乙個函式,類 1,如果呼叫在另外乙個.py裡面的函式,先導入 py,然後呼叫2,如果在本py裡面,則把要呼叫的函式放在前面,直接呼叫,例如 def sum a,b return a b c sum 5,6...