什麼是函式
函式是一種僅在呼叫時執行的程式碼塊。
您可以將資料(稱為引數)傳遞到函式中。
函式可以把資料作為結果返回。
函式的定義在 Python 中,使用 def 關鍵字定義函式:
例:定義一個函式獲取當前時間
import timedef getNowTime(): #定義函式名 res = time.asctime(time.localtime()) #獲取時間並且格式化,賦值給res print(res) #將時間值res打印出來
此時,我們僅僅定義了函式,沒有使用,我們可以在我們需要的時候呼叫getNowTime方法來獲取當前的時間。
函式的呼叫當我們想要執行函式中的程式碼時,我們就需要呼叫函式來實現程式碼的執行。
# 直接使用函式名 ()即可getNowTime() #呼叫函式getNowTime#輸出PS E:\TestProject> & D:/Python37/python.exe test.pyThu Oct 22 20:42:16 2020
函式的引數
資訊可以作為引數傳遞給函式。
引數在函式名後的括號內指定。您可以根據需要新增任意數量的引數,只需用逗號分隔即可。
下面的例子有一個帶引數(sjc)的函式。當呼叫此函式時,我們傳遞一個值,在函式內部根據這個值會有不同的輸出。
如果sjc為真則列印時間戳,否則列印格式化時間。
import timedef getNowTime(sjc):if sjc: res = time.time()else: res = time.asctime(time.localtime()) print(res)
呼叫函式,傳入sjc=False:
getNowTime(sjc=False)#輸出PS E:\TestProject> & D:/Python37/python.exe test.pyThu Oct 22 20:51:17 2020
呼叫函式,傳入sjc=True:
getNowTime(sjc=True)#輸出PS E:\TestProject> & D:/Python37/python.exe test.py1603371355.403152
函式的位置引數
當我們需要多個引數的時候,我們可以按照引數的順序傳值。
例:我們想要根據兩個引數輸出一個人的資訊
def PersonInfo(name,age): print('welcome ',name,', you are ',age,' years old...' )# 呼叫,根據位置傳入引數PersonInfo('phyger',18)#輸出PS E:\TestProject> & D:/Python37/python.exe test.pywelcome phyger , you are 18 years old...
如果我們不小心將引數的位置傳錯了會怎麼樣呢?
def PersonInfo(name,age): print('welcome ',name,', you are',age,' years old...')# 呼叫,根據位置傳入引數PersonInfo(18,'phyger')# 輸出C:\Users\Administrator\Desktop\document>D:/Python37/python.exe c:/Users/Administrator/Desktop/document/test.pywelcome 18 , you are phyger years old...
你會發現:輸出的結果錯誤了,那怎麼解決這個問題呢?
分析:因為位置引數是根據位置對應引數傳值的,要解決這個問題就需要使用關鍵字引數,請繼續往下看。
函式的關鍵字引數# 使用關鍵字引數呼叫PersonInfo(age=18,name='phyger')# 輸出C:\Users\Administrator\Desktop\document>D:/Python37/python.exe c:/Users/Administrator/Desktop/document/test.pywelcome phyger , you are 18 years old...
你會發現,問題已經解決。
最新評論