python從零開始 15 函式之引數

2021-08-19 19:56:22 字數 2715 閱讀 5766

函式的定義方式如下所示,return語句非必需。

def fun(arg1, *args, **kwargs):

if ***x:

*********

return ***x

需要重點注意的是引數。

引數預設值,在函式定義中,用***="男"這種方式申明,如果相關引數在呼叫時,不給值,就自動取預設引數

def print_stu_inf(student, ***="男", classname="三年級二班", school="橫山高中"):

print("{}{},{},性別{}".format(school,classname,student,***))

print_stu_inf("劉浩然")

print_stu_inf("張誅妹","女")

print_stu_inf("劉峰",classname="三年級五班")

d:\pythonprojects\venv\scripts\python.exe d:/pythonprojects/100prac/58.py

橫山高中三年級二班,劉浩然,性別男

橫山高中三年級二班,張誅妹,性別女

橫山高中三年級五班,劉峰,性別男

可變引數,有時候輸入的引數值不確定,也許乙個,也許兩個,也許多個,這個時候就用在引數前加上*。如下**,

呼叫的時候,輸入的時候,是單獨的幾個值,比如"1, 6, 49",但到函式內部,這幾個引數被封裝成乙個名稱為num的tuple,即(1,6,49),所以我們可以用for...in...來遍歷引數。  

def sum(*num):

print(type(num))

sum_ = 0

for item in num:

sum_ += item

return sum_

print(sum(1, 6, 49))

print(sum(5, 5, 89, 100, 45))

d:\pythonprojects\venv\scripts\python.exe d:/pythonprojects/100prac/58.py

56244

對於可變引數,也可以直接輸入乙個tuple或list,但呼叫時的寫法要注意一下,這個在自動化測試**中,用得還比較多。

def sum(*num):

print(type(num))

sum_ = 0

for item in num:

sum_ += item

return sum_

num_tup = (78, 45, 89, 100)

print(sum(*num_tup))

d:\pythonprojects\venv\scripts\python.exe d:/pythonprojects/100prac/58.py

312

關鍵字引數,用來額外補充引數名以及其對應的引數值。例如下方的**more_info, more_info在函式內自動轉為乙個字典。在呼叫函式時,如果需要給引數賦值,寫法是 key = value,注意key不能加引號,這與字典的定義方式不一致。

def print_stu_inf_update(student, ***="男", **more_info):

print("{},性別{}".format(student,***))

for k,v in more_info.items():

print_stu_inf_update("劉浩然")

print_stu_inf_update("張誅妹","女")

print_stu_inf_update("劉峰", 班級="三年級五班", 學校="青島二中")

d:\pythonprojects\venv\scripts\python.exe d:/pythonprojects/100prac/58.py

劉浩然,性別男

張誅妹,性別女

劉峰,性別男

在實際**編寫中,呼叫時往往也是先將引數定義到乙個字典中,然後再傳入,注意呼叫時的寫法,如下:

def print_stu_inf_update(student, ***="男", **more_info):

print("{},性別{}".format(student,***))

for k,v in more_info.items():

liufeng_more_info_dict =

print_stu_inf_update("劉峰",**liufeng_more_info_dict )

d:\pythonprojects\venv\scripts\python.exe d:/pythonprojects/100prac/58.py

劉峰,性別男

引數定義的順序為:普通引數,可變引數,關鍵字引數。

def fun(arg1, *args, **kwargs):

從零開始學Python 函式

對於任何語言來說,函式都是必不可少的部分,對於python一樣如此。python中有非常多的內建函式,比如 求絕對值函式abs 求長度函式len 求總和函式sum 輸出字元函式input 等等,大家可以去官方 看一下官方文件,這裡我們就不再贅述了。我們來看一下在python中如何自定義函式和函式中的...

從零開始的python之路 函式

一 函式 1 函式意義 把一段以後要重複運用的 塊賦給乙個變數,以後可通過變數名重複運用。提高可讀性與可重用性。2 基本格式 def 函式名 塊執行 函式名 3 引數 在呼叫函式過程中,有些值不是一成不變的,需要進行替換,所以用引數代表這些需要變更的值。引數分為形式引數與實際引數,簡稱形參與實參。形...

從零開始學 Python 之數字

python 數字資料型別用於儲存數值。資料型別是不允許改變的,這就意味著如果改變量字資料型別的值,將重新分配記憶體空間。以下例項在變數賦值時 number 物件將被建立 var1 1var2 10你也可以使用 del 語句刪除一些數字物件的引用 del 語句的語法是 del var1 var2 v...