Python函式一
阿新 • • 發佈:2020-09-11
函式
一、函式的作用
函式就是一段具有獨立功能的程式碼塊整合到一個整體並命名,在需要的位置呼叫這個名稱即可完成對應的需求
函式在開發過程中,可以更高效的實現程式碼重用
二,函式的使用步驟
2.1 定義函式
def 函式名(引數)
程式碼1
程式碼2
...
2.2 呼叫函式
函式名(引數)
注意:
1.不同的需求,引數可有可無
2.在Python中,函式必須先定義後使用
2.3 示例
需求:實現ATM取錢功能
1.搭建整體框架
print('密碼正確·,登入成功') # 顯示選擇功能介面 print('查詢餘額完畢') # 顯示選擇功能頁面 print('取了2000元錢') # 顯示選擇功能頁面
2.確定選擇功能介面內容
print('查詢餘額')
print('存款')
print('取款')
3.封裝’選擇功能‘
注意:一定是先定義函式,後呼叫函式
#封裝ATM機功能選項——定義函式
def select_func():
print('————請選擇功能————')
print('查詢餘額')
print('存款')
print('取款')
print('——請選擇功能————')
- 呼叫函式
在需要顯示‘ 選擇功能 ’函式的位置呼叫函式
print('密碼正確·,登入成功') # 顯示選擇功能介面 --呼叫函式 select_func() print('查詢餘額完畢') # 顯示選擇功能頁面---呼叫函式 select_func() print('取了2000元錢') # 顯示選擇功能頁面---呼叫函式 select_func()
三、函式的引數作用
思考:完成需求如下:一個函式完成兩個數1和2的加法運算,如何書寫程式?
#定義函式
def add_num()
resule=1+2
print(result)
#呼叫函式
add_num1()
思考:上述add_num1函式只能完成數字1和2的加法運算,如果想要這個函式變得更更靈活,可以計算任何⽤使用者指定的兩個數字的和,如何書寫程式?
分析:⽤使用者要在調⽤用函式的時候指定具體數字,那麼在定義函式的時候就需要接收使用者指定的數字。函式調⽤用時候指定的數字和定義函式時候接收的數字即是函式的引數。
# 定義函式時同時定義了了接收⽤使用者資料的引數a和b,a和b是形參 def add_num2(a, b): result = a + b print(result) # 調⽤用函式時傳⼊入了了真實的資料10 和 20,真實資料為實參 add_num2(10, 20)
四、函式的返回值作用
例例如:我們去超市購物,⽐比如買菸,給錢之後,是不不是售貨員會返回給我們煙這個商品,在函式中,如果需要返回結果給⽤使用者需要使⽤用函式返回值.
def buy()
return'煙'
# 用result變數儲存函式返回值
result=sum_num(1,2)
print(result)
4.1 應用
需求:製作一個計算器,計算任意兩數之和,並儲存結果
def sum_num(a,b):
return a+b
# 用result變數儲存函式返回值
result=sum_num(1,2)
print(result)
五、函式的說明文件
5.1 語法
- 定義函式的說明文件
def 函式名(引數):
'''說明文件的位置‘’‘
程式碼
......
- 檢視函式的說明文件
help(函式名)
5.2 體驗
def sum_num(a,b):
'''求和函式'''
return a+b
help(sum_num)
六、函式巢狀呼叫
所謂函式巢狀呼叫指的是一個函式裡面又呼叫了另外一個函式
- 示例:
def test():
print('---test start---')
print('這裡是test函式執行的程式碼')
print('---test end---')
def testa():
print('---testa start---')
test()
print('---test end---')
testa()
- 效果
- 執行流程
- 如果函式中,呼叫了另外一個函式B,那麼先把函式B中的任務都執行完畢之後才會回到上次 函式A執行的位置
七、函式應用
7.1 列印圖形
1.列印一條橫線
def print_line()
print('-' *20)
print_line()
7.2 函式計算
- 求三個數之和
def sum_num(a,b,c):
return a+b+c
result=sum_num(1,2,3)
print(result)
#結果 6
2.求三個數平均值
def sum_num(a,b,c):
return a+b+c
result=sum_num(1,2,3)
print(result)
def avg_num(a,b,c):
sumResult=sum_num(a,b,c)
return sumResult/3
result=avg_num(1,2,3)
print(result)