一、函式的定義
在開發程式的程序中,如果需要模塊代碼多次,為了提高撰寫的效率以及代碼的重用,則要把具有獨立功能的代碼塊組織成為一個小模塊,稱為函式,
語法格式:
def 函式名():
代碼
eg:
def func1():
print('--------------------------')
print('測驗函式1')
print('--------------------------')
二、函式的呼叫
定義了函式之后,就相當于是有了具備某些功能的代碼,想要讓這些代碼能夠執行,需要呼叫函式,
語法格式:
函式名()
eg:
func1()
注意:
- 每次呼叫函式時,函式都會從頭開始執行,當這個函式中的代碼執行完畢后,意味著呼叫結束了,
- 如果函式中執行到了return,就會結束函式,
- 呼叫時,實參個數和先后的順序應該和定義函式的順序保持一致,如果呼叫的函式有回傳值,那么就可以用一個變數來保存這個值,
三、函式的型別
1,無引數,無回傳值
此類函式,不能接受引數,也沒有回傳值,一般情況下,列印具有提示功能的函式,使用此類函式,
語法格式:
def 函式名():
陳述句
def meau():
print('--'*25)
print('這是無引數,無回傳值的函式哦!')
print('可以用作提示功能哦!')
print('--'*25)
meau()
顯示結果:

2,無引數,有回傳值
無引數,有回傳值的函式,不能接收引數,但是可以回傳某個資料,一般在采集資料功能應用的時候,使用此類函式
語法格式:
def 函式名():
陳述句
return 需要回傳的數值
def getAge():
#年齡獲取代碼塊
return 18
age = getAge()
print('年齡為:%d' %age )
顯示結果:

注意:
- 一個函式有沒有回傳值,就看有沒有return陳述句,因為只有return陳述句才可以回傳資料,
- 在開發者根據需求來設計函式是否需要回傳值,
- 函式中可以有多條return陳述句,但是只要執行一條return陳述句,就意味著這個函式的呼叫完成,
3,有引數,無回傳值
有引數,無回傳值的函式,接收引數,但是不回傳數,一般情況下,對某些變數要設定資料而不需要結果時,使用此類函式,
語法格式:
def 函式名(形參串列):
陳述句
注意:
- 在呼叫函式時,如果需要把一些資料一起傳遞過去,被呼叫函式就需要用引數來接收,
- 引數串列中變數的個數是根據實際傳遞資料的多少來確定的,
4,有引數,有回傳值
有引數,有回傳值的函式,不僅可以接收,還可以回傳某個資料,一般在資料處理并需要結果的應用使用此類函式,
語法格式:
def 函式名(形參串列):
陳述句
return 需要回傳的值
# 計算1~100的和
def num_sum(x):
result = 0
i = 1
while i <= x:
result += i
i += 1
return result
result = num_sum(100)
print('1~100的和為:%d' %result )
顯示結果:

四、函式的引數
- 形參:用來接收引數用的,定義的時候放在小括號里面的,
- 實參:呼叫函式的時候小括號里面的,用來傳遞引數給函式用的,
五、函式的嵌套使用
一個函式里面又呼叫了另外一個函式,這就是函式的嵌套呼叫,若果函式A中點用了另外一個函式B,那么先把函式B中的任務都執行完畢之后在回到上次函式A執行的位置,
def func1():
print('----------------func1 開始執行----------------------')
print('func1 代碼塊')
print('----------------func1 執行完畢----------------------')
def func2():
print('----------------func2 開始執行----------------------')
func1()
print('----------------func2 執行完畢----------------------')
func2()
顯示結果:

六、引數默認值的使用
在定義函式時,可以給每一個形參指定默認值,在呼叫函式的時候,如果給形參傳遞了實參,那么python就會使用,傳遞的實參,否則,會使用定義時引數的默認值,
1,使用引數默認值
def desicribe_pet(pet_name,animal_type='貓貓'):
"""顯示寵物資訊"""
print("我有一個 " + animal_type)
print('名字叫做' + pet_name)
desicribe_pet('球球')
顯示結果:

注意:
這個函式在定義的時候給animal_type引數設定了默認值,所以在呼叫函式的時候,可以不用傳參,直接使用默認值,
2,給定義默認值的引數傳遞實際引數
def desicribe_pet(pet_name,animal_type='貓貓'):
"""顯示寵物資訊"""
print("我有一個 " + animal_type)
print('名字叫做' + pet_name)
desicribe_pet('球球','狗狗')
顯示結果:

注意:
當給定義默認值的引數傳遞實際引數是,python會使用實際傳遞的引數,不使用默認值,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/260592.html
標籤:python
