您好,登錄后才能下訂單哦!
本篇文章展示了python中自定義函數的應用,代碼簡明扼要容易理解,絕對能讓你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
1、什么是函數?
函數是組織好的,可重復使用的,用來實現單一,或相關聯(lián)功能的代碼段。函數能提高應用的模塊性,和代碼的重復利用率。
2、函數的定義方法:
def test(x): '函數定義方法' x+=1 return x
解釋:
def
:定義函數關鍵字
test
:函數名
()
:可定義形參
''
:文檔描述
x+=1
:代碼塊或程序處理邏輯
return
:結束并返回值
函數為什么要有返回值?
通過返回值接收函數的執(zhí)行結果,后續(xù)的邏輯需要通過此結果執(zhí)行其對應操作。
(1)、實例:給一個文件寫入日志信息
import time # 定義函數 def test1(): '函數練習:添加日志記錄' log_time = time.strftime('%Y-%m-%d %X') with open('file_a','a') as f: f.write(log_time+':log msg\n') # 調用函數 test1()
(2)、函數返回值說明:
return 返回值數量=0:返回一個空值(None)
返回值數量=1:返回一個對象(object)
返回值數量>1:返回一個元組(tuples)
實例:
#函數返回類型 def test_None(): print('返回一個空值') x=test_None() print(x) def test_object(): print('返回一個對象') return 0 y=test_object() print(y) def test_tuples(): print('返回一個元組') return 1,'hello world',['qwe','asd'],{'001':'simple'} z=test_tuples() print(z)
(3)、形參:定義的參數叫形參(x,y)
實參:實際傳入的參數叫實參(1,2)
不指定參數的情況下:實參與形參位置一一對應
實例:
注:位置傳參與關鍵字傳參共用時,關鍵字參數不能寫在位置參數之前
def test_sum(x,y): '兩數之和' z = x + y return z t_sum=test_sum(1,2) #實參與形參位置一一對應 print(t_sum) t_sum2=test_sum(x=1,y=2) #與形參位置無關 print(t_sum2) t_sum3=test_sum(1,y=2) # 錯誤方式:test_sum(x=1,2) 位置傳參與關鍵字傳參共用時,關鍵參數不能寫在位置參數之前 print(t_sum3)
(4)、默認值參數:
# 默認值參數 def test_default(x,y=2): '默認值參數' z = x + y return z print(test_default(2)) #print(tesst_default(2,2))
(5)、參數組(不定長參數):
# 參數組,接受位置參數,將多個實參存入一個元組中 # 定義格式:*變量名(一般規(guī)范為 *args) def test_group(*args): '參數組' print(args) test_group(1,2,3,4,5,6) def test_group2(x,*args): '參數組與位置參數混用' print(x) print(args) test_group2(1,2,3,4,5,6) # 接受關鍵字參數組,轉換成字典 def test_group3(**kwargs): '參數組鍵值對形式' print(kwargs['name']) test_group3(name='simple',age=25,sex='m') def test_group4(name,**kwargs): '參數、參數組鍵值對混用' print(name) print(kwargs) test_group4('simple',age=25,sex='m') #注:參數組必須放在位置參數、默認參數之后 def test_group5(name,age=25,**kwargs): '參數、默認參數、參數組鍵值對混用' print(name) print(age) print(kwargs) test_group5('simple',age=3,sex='m',game='lol') def test_group6(name,age=25,*args,**kwargs): '參數、默認參數、參數組、參數組鍵值對混用' print(name) print(age) print(*args) print(kwargs) test_group5('simple',age=3,sex='m',game='lol')
看完上述內容,你們掌握python中自定義函數的使用方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業(yè)資訊頻道,感謝各位的閱讀!
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。