python課程第10天《函式》
---恢復內容開始---
一 基本語句:
def 函式名字(): # 定義函式名稱
函式內的語句 # 呼叫函式時,執行的命令
return # 返回一個值,可選,不填的話返回None
函式名字() # 呼叫函式
二 特點:
可以在多出呼叫同一組程式碼!
三 返回值:
如果沒有返回值的話:可能是因為每寫return語句,或者是return後面沒有跟變數。
同時,如果使用了return語句,就不會繼續執行之後的語句。同樣可以結束該函式。
如果有多個return語句的話,只執行第一個執行的return
1,返回1個值:
可以返回字串,列表,字典等等單個的任何資料型別。
只要返回了資料型別,就可以被接收到。
2,返回兩個以上的值:
return 返回結果1,返回結果2 #就可以去返回多個返回值了
同樣,返回n個值的時候,需要用n個變數去接受。如果接受變數和返回值數量不符的時候,會報錯!
但是可以使用一個變數去接受多個返回值,但是這個變數最後會變成一個元組。
3,1個變數可以接受多個返回值的原因:
元組、列表是可以解包的,3個元素的元組、列表可以批量賦值給3個變數。
字典也是可以解包的,但是由於解包出來是無序的,所以不常用!
四 傳入引數:
def 函式名(形參):
語句(其中可以呼叫傳入的引數進行處理!
函式名稱(傳入的實參)
在呼叫函式的過程中可以傳入引數!
引數包括形參和實參:形參類似於佔位符,在設定函式的時候進行定義,在呼叫函式的時候將匯入實參,即包含實際資料的引數!
注意:在最近做的ATM程式中,想要繼承上一級函式的引數的時候可以使用傳參功能,而可以不使用global語句!這裡應該是之前學的知識沒有用到
實處導致的!
五 引數的型別:
位置引數
函式名稱(1,2)
關鍵字傳參:按照形參名字進行傳參:
函式名(a = 1,b =1)
注意:可以兩種傳參一起用,但是必須先使用關鍵傳參,之後再使用位置傳參。否則可能導致一個形參得到兩個實參,而報錯!
位置引數必須傳入引數,否則報錯。
關鍵字傳參是可以定義預設值的。
在形參中,預設值一定要放在位置引數之後!
動態引數:*args:可以接受任意數量的引數。後面的args意思是很多arguments的意思!(接受按照位置傳參的值,組織成一個元組)
*可以把後面的引數程式設計一個動態引數,可以無限多地接受引數!
動態引數如果不傳引數,就返回一個空的元組!
動態引數應該放在所有位置引數之後!但是應該放在預設引數之前!
動態引數是不能接受按照關鍵字傳參的功能。
動態引數2:**kwargs:可以接受用key = value進行傳入。這時候,得到的就是一個字典的資料型別了。(接受的是按照關鍵字傳參的值,組成一個字典!)
注意:以上兩種接受方式是可以同時使用的!
引數的順序總結:位置引數、動態元組引數、預設引數、動態字典引數。
六 一些常見的問題:
想把列表裡的所有元素傳到一個動態引數中?
傳列表裡的元素為引數!
def func(*args):
print(args)
l = [1,2,3,4,5]
func(*l)
>>>(1,2,3,4,5)
傳字典中的鍵值對為引數!
def func(**kwargs):
print(kwargs)
d = {'a' : 1,'b' : 2,'c' : 3}
func(**d)
>>>{'a' : 1,'b' : 2,'c' : 3}
七 給函式增加備註:
在函式的開頭直接寫一個長字串,就可以對函式進行註釋
格式:
對函式進行大體說明
再對引數進行具體說明
再說return返回的是什麼東西
按照這個順序進行說明,才是標準的格式!
---恢復內容結束---