Python基礎筆記_Day06_python函式引數、返回值、巢狀
Day06_python函式引數、返回值、巢狀
06.01_Python語言基礎(函式概述)(掌握)
06.02_Python語言基礎(函式的定義和呼叫)(掌握)
06.03_Python語言基礎(函式的引數)(掌握)
06.04_Python語言基礎(呼叫函式注意事項)(掌握)
06.05_Python語言基礎(引數總結)(掌握)
06.06_Python語言基礎(函式的返回值)(掌握)
06.07_Python語言基礎(函式的型別)(掌握)
06.08_Python語言基礎(函式的巢狀呼叫)(掌握)
## 06.01_Python語言基礎(函式概述)(掌握)
#
例如:
現在有一段程式碼:
print("天王蓋地虎")
print("小雞燉蘑菇")
在來一段:
if 條件1:
print("天王蓋地虎")
elif 條件2:
print("小雞燉蘑菇")
elif 條件3:
print("天王蓋地虎")
print("小雞燉蘑菇")
>總結:
如果在開發的時候,需要某段程式碼多次執行,但是為提高程式碼的編寫效率和程式碼的重用,所以把具有獨立功能的程式碼塊組織為一個小模組,這樣的模組我們成為:函式
* 查一查:函式在數學中的定義是什麼?
## 06.02_Python語言基礎(函式的定義和呼叫)(掌握)
* 函式的定義
#
函式定義的格式:
def 函式名():
程式碼
例如:
#函式的定義
def printInfo():
print("----------")
print("人生苦短,我用python")
print("----------")
* 函式的呼叫
#
格式:
函式名()
printInfo()
* 做一做:定義函式,能夠完成輸出自己的姓名和年齡,並讓函式執行
#
# 使用def定義函式
# 編寫完函式後需要呼叫,通過函式名()進行呼叫
# 定義函式
def info():
name = input("請輸入你的姓名:")
age = input("請輸入您的年齡:")
print("您的姓名為:%s,年齡:%s"%(name,age))
#呼叫函式
info()
## 06.03_Python語言基礎(函式的引數)(掌握)
* 定義帶有引數的函式
#
# 定義函式
def addnum():
a = 33
b = 22
c = a + b
print(c)
# 呼叫函式
addnum()
# 定義函式
def add2Num(a,b):#形參
c = a + b
print(c)
# 呼叫函式
add2Num(11,22)#實參
>做一做:定義一個函式,完成前兩個數的加法運算,在對第三個數進行減法,呼叫該函式,完成計算並列印結果?
#
def add(a,b,c):
d = a + b
e = d - c
print(e)
add(10,20,30)
## 06.04_Python語言基礎(呼叫函式注意事項)(掌握)
* 形參和實參必須一一對應
* 函式呼叫時引數的順序
#
def test(a,b):
print(a,b)
test(1,2)
test(b = 1, a = 2)
## 06.05_Python語言基礎(引數總結)(掌握)
* 形參:定義時小括號中的引數,用來接受引數
* 實參:呼叫時小括號中的引數,用來傳遞給函式使用
>做一做:模擬一個簡單的兩位數的計算器,功能(加減乘除)
#
#定義一個函式,完成計算器的加法運算
def add(a,b):
c = a + b
print(c)
# 定義一個函式,完成計算器的減法運算
def minus(a, b):
c = a - b
print(c)
# 定義一個函式,完成計算器的乘法運算
def cheng(a, b):
c = a + b
# print(c)
# 定義一個函式,完成計算器的除法運算
def chu(c, d):
c = c / d
print(c)
add(1,2)
minus(2,1)
cheng(1,2)
chu(1,2)
## 06.06_Python語言基礎(函式的返回值)(掌握)
* 函式的返回值概述
* 定義: 返回值:就是程式中函式完成一件事後將結果返回給呼叫者
* 帶有返回值的函式
#
#定義函式
def add2num(a,b):
c = a + b
return c
#或者
# return a + b
sum = add2num(1,2)
print(sum)
* 儲存帶有返回值的函式
#
#定義函式
def add2num(a,b):
c = a + b
return c
#或者
# return a + b
sum = add2num(1,2)
print(sum)
* 函式的型別
## 06.07_Python語言基礎(函式的型別)(掌握)
#
函式根據有沒有引數,有沒有返回值,可以相互組合,一共有4中
無引數,無返回值
無引數,有返回值
有引數,無返回值
有引數,有返回值
### A: 無引數,無返回值
此類函式,不能接受引數,也沒有返回值,一般情況下,列印提示燈類似的功能,使用該類函式
#
#無引數,無返回值
def printInfo():
print("------------")
print("人生苦短,我用python")
print("-----------")
printInfo()
### B: 無引數,有返回值
此類函式,不能接受引數,但是可以返回某個資料,一般情況,像資料採集,
#
#無引數,有返回值
def getTemp():
return 24
temp = getTemp()
print("當前的溫度為:%d"%temp)
### C: 有引數,無返回值
此類函式可以接受引數,但是不可以返回資料,一般情況適用於變數設定資料,而不需要結果
#
#有引數,無返回值
def add2num(a,b):
result = a + b
print(result)
add2num(11,22)
### D: 有引數,有返回值
此類函式,不僅接受引數,同時可以返回某個資料,
#
"""
1.是否需要傳參
是
需要傳幾個
傳一個
2.是否需要返回
有 return 將資料返回,二次處理
沒有
"""
def calculateNum(num):
i = 0
sum = 0
while i <= num:
sum += i
i += 1
return sum
result = calculateNum(100)
calculateNum(200)
print(result)
案例2:
#
#定義一個函式
def get_wendu(a):
wendu = 22
print("當前的溫度為:%d"%wendu)
return wendu
def get_wendu_huashi(wendu):
print("======4========")
wendu = wendu + 3
print("=====5=====")
print("當前的溫度為:%d"%wendu)
print("======6======")
print("====1======")
result = get_wendu(1000)
print("=======2=======")
get_wendu_huashi(result)
print("=======3======")
### 總結
* 函式是否有引數和返回值,決定函式的格式(4種)
## 06.08_Python語言基礎(函式的巢狀呼叫)(掌握)
* 概述:
* 函式的巢狀呼叫: 一個函式中又呼叫了另外一個函式
示例:
#
def testB():
print("----testB-----")
def testA():
print("-----testA-----")
testB()
testA()
#### 想一想:
#
案例1:
1.寫一個函式列印一條橫線(20個“-”)
2.列印自定義行數的橫線
分析:
是否引數
需要 傳遞一個引數 確定“-”號的個數
不需要
是否返回值
需要 返回給呼叫者
不需要
內容:
列印一條橫線
有參 無返回
def test(n):
print(n*"-")
有參 有返回
def test(n):
return n * "-"
無參 無返回
def test():
print(20*"-")
無參 有返回
def test():
retrun "-" * 20
程式碼:
#
# n:確定-號的個數
#列印一行-號
def printOneLine(n):
print(n * "-")
# 列印多條橫線
def printNumLine(num):
i = 0
while i < num:
printOneLine(20)
i += 1
# 呼叫函式
printOneLine(20)
printNumLine(3)
案例2:
#
程式碼思路:
引數
需要 三個
返回值
需要
實現程式碼:
#
def sum3Number(a,b,c):
return a + b + c
sum = sum3Number(1,2,3)
print(sum)
#定義一個函式,完成3個數的平均值
def average3Number(aaa):
averageResult = sum / 3.0
return averageResult
ave = average3Number(sum)
print(ave)