函式的定義方式如下所示,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...