python 函式定義中的

2021-10-18 13:22:13 字數 983 閱讀 5632

今日在python**中碰到的問題:

def argoption(**option):
並不懂括號裡面**option是什麼意思,找到了下面文章

def myprint(*params):

print(params)

這時候如果以如下方式呼叫myprint

myprint(1,2,3)
則會輸出:

(1,2,3)
因此作用是將呼叫時提供的所有值,放在乙個元組裡。

這種情況下,在函式定義時的形參裡的*params後面,不要再加入別的形參,比如定義為 def myprint(*params,x) ,呼叫的時候myprint(1,2,3),就會報錯。因為這樣python分不清哪個資料是給params的。如果你非要這麼定義也行,不過在呼叫的時候,必須顯示的指出哪個值是給x的。比如myprint(1,2,x=3),通過這種方式呼叫才不會出錯。

對於之前引數是*params的情況,myprint並不能傳入關鍵字引數。啥意思呢,就是仍然採取這種方式定義時:

def myprint1(*params):

print(params)

這樣是錯誤的:

myprint1(x=1,y=2,z=3)會報錯

因為*號並不會收集關鍵字引數。所以需要如下方式修改,採用兩個星號:

def myprint2(**params):

print(params)

這樣呼叫myprint2就不會有問題:

myprint2(x=1,y=2,z=3)
會輸出如下結果:得到乙個字典。字典中元素的先後順序取決於你的環境。

python中的函式定義

usr bin env python coding utf 8 time 2021 3 13 23 43 author banzhu file func.py 函式的本質就是一段有特定功能 可以重複使用的 這段 已經被提前編寫好了,並且為其起乙個 好聽 的名字。在後續編寫程式過程中,如果需要同樣的功...

python中的定義函式

定義函式 關鍵字def 向函式傳遞資訊 實參和形參,可能包含多個形參 傳遞實參 位置實參 順序很重要 關鍵字實參,預設值,等效的函式呼叫 返回值 函式並非總是直接顯示輸出,相反,它可以處理一些資料,並返回乙個或一組值 讓實參變成可選的,返回字典,結合使用函式和while迴圈 傳遞列表 在函式中修改列...

python中函式的定義意思

python中的函式意義 一.函式的定義 在某些程式語言當中,函式宣告和函式定義是區分開的 在這些程式語言當中函式宣告和函式定義可以出現在不同的檔案中,比如c語言 但是在python中,函式宣告和函式定義是視為一體的。在python中,函式定義的基本形式如下 def function params ...