- 1.定義函數(shù)
- 2.調(diào)用函數(shù)
- 3.自定義函數(shù)的編寫思路
1.定義函數(shù)
【語(yǔ)法】
def 函數(shù)名(參數(shù)) :
??代碼塊
- 定義函數(shù)的關(guān)鍵字
def
。 def
后面緊跟空格。- 函數(shù)名可以自己命名。
- 括號(hào)中的參數(shù)可以有,也可以沒有。
- 特別要注意
def
語(yǔ)句后面不能忘記英文冒號(hào):
。 - 有英文冒號(hào)
:
必有4個(gè)空格的縮進(jìn)。 - 最后是我們要封裝或打包的代碼塊。
2.調(diào)用函數(shù)
【語(yǔ)法】
函數(shù)名(參數(shù))
【溫馨提示】
- 參數(shù)可以有,也可以沒有。
- 函數(shù)必須先定義,后使用。
調(diào)用函數(shù)的語(yǔ)法非常簡(jiǎn)單,函數(shù)名加參數(shù)即可。
3.自定義函數(shù)的編寫思路
【任務(wù)目標(biāo)】
某學(xué)校的學(xué)生管理系統(tǒng)菜單如下:
學(xué)生信息管理系統(tǒng)
====功能菜單====
1.錄入學(xué)生信息
2.查找學(xué)生信息
3.刪除學(xué)生信息
4.修改學(xué)生信息
5.退出系統(tǒng)
編寫代碼完成以下任務(wù):
輸入1,輸出1.錄入學(xué)生信息
輸入2,輸出2.查找學(xué)生信息
輸入3,輸出3.刪除學(xué)生信息
輸入4,輸出4.修改學(xué)生信息
輸入5,輸出5.退出系統(tǒng)
輸入其他字符,輸出輸入錯(cuò)誤,請(qǐng)重新輸入!
【示例】
輸入
1
輸出
1.錄入學(xué)生信息
【代碼拆分】
1.先寫代碼塊,即函數(shù)要實(shí)現(xiàn)的功能
s = int(input()) # 從終端輸入一個(gè)字符,并賦值給變量s,用int將字符串轉(zhuǎn)換成整數(shù)
if s == 1: # 當(dāng)輸入為1時(shí),執(zhí)行以下語(yǔ)句
print('1.錄入學(xué)生信息')
elif s == 2: # 當(dāng)輸入為2時(shí),執(zhí)行以下語(yǔ)句
print('2.查找學(xué)生信息')
elif s == 3: # 當(dāng)輸入為3時(shí),執(zhí)行以下語(yǔ)句
print('3.刪除學(xué)生信息')
elif s == 4: # 當(dāng)輸入為4時(shí),執(zhí)行以下語(yǔ)句
print('4.修改學(xué)生信息')
elif s == 5: # 當(dāng)輸入為5時(shí),執(zhí)行以下語(yǔ)句
print('5.退出系統(tǒng)')
else: # 當(dāng)輸入為其他字符時(shí),執(zhí)行以下語(yǔ)句
print("輸入錯(cuò)誤,請(qǐng)重新輸入!")
【輸出終端】
ValueError: invalid literal for int() with base 10: 's'
【代碼測(cè)試】
在終端輸入3,程序返回的是3.刪除學(xué)生信息
。
在終端輸入7,程序返回的是輸入錯(cuò)誤,請(qǐng)重新輸入!
。
在終端輸入的是字符d
,程序報(bào)錯(cuò)!因?yàn)樽址?code>d是無(wú)法用int函數(shù)轉(zhuǎn)換成整數(shù)的。
2.寫自定義函數(shù)語(yǔ)句
def menu(s): # 自定義一個(gè)menu函數(shù)
def
是自定義語(yǔ)句關(guān)鍵字- 函數(shù)名
menu
menu[?menju?]:菜單。
- 形式參數(shù)
s
3.寫函數(shù)調(diào)用語(yǔ)句
menu(1) # 調(diào)用函數(shù),傳入數(shù)字1
menu(2) # 調(diào)用函數(shù),傳入數(shù)字2
menu(3) # 調(diào)用函數(shù),傳入數(shù)字3
menu(4) # 調(diào)用函數(shù),傳入數(shù)字4
menu(5) # 調(diào)用函數(shù),傳入數(shù)字5
menu("d") # 調(diào)用函數(shù),傳入字符d
- 函數(shù)名menu
- 括號(hào)中為傳入的實(shí)參
6個(gè)menu表示調(diào)用了函數(shù)6次。
4.綜合代碼
def menu(s): # 自定義一個(gè)menu函數(shù)
if s == 1: # 當(dāng)輸入為1時(shí),執(zhí)行以下語(yǔ)句
print('1.錄入學(xué)生信息')
elif s == 2: # 當(dāng)輸入為2時(shí),執(zhí)行以下語(yǔ)句
print('2.查找學(xué)生信息')
elif s == 3: # 當(dāng)輸入為3時(shí),執(zhí)行以下語(yǔ)句
print('3.刪除學(xué)生信息')
elif s == 4: # 當(dāng)輸入為4時(shí),執(zhí)行以下語(yǔ)句
print('4.修改學(xué)生信息')
elif s == 5: # 當(dāng)輸入為5時(shí),執(zhí)行以下語(yǔ)句
print('5.退出系統(tǒng)')
else: # 當(dāng)輸入為其他字符時(shí),執(zhí)行以下語(yǔ)句
print("輸入錯(cuò)誤,請(qǐng)重新輸入!")
menu(1) # 調(diào)用函數(shù),傳入數(shù)字1
menu(2) # 調(diào)用函數(shù),傳入數(shù)字2
menu(3) # 調(diào)用函數(shù),傳入數(shù)字3
menu(4) # 調(diào)用函數(shù),傳入數(shù)字4
menu(5) # 調(diào)用函數(shù),傳入數(shù)字5
menu("d") # 調(diào)用函數(shù),傳入字符d
【終端輸出】
1.錄入學(xué)生信息
2.查找學(xué)生信息
3.刪除學(xué)生信息
4.修改學(xué)生信息
5.退出系統(tǒng)
輸入錯(cuò)誤,請(qǐng)重新輸入!
【代碼解析】
menu("d")
當(dāng)我們調(diào)用函數(shù)時(shí)傳入的參數(shù)是字符d
,程序返回的是輸入錯(cuò)誤,請(qǐng)重新輸入!
。
字符d
在這里是屬于其他字符,它不像上面的代碼需要轉(zhuǎn)換成整數(shù),因此程序沒有報(bào)錯(cuò)。
括號(hào)中的數(shù)就是傳入自定義函數(shù)的參數(shù)。這里的1 2 3 4 5 d
都是實(shí)參。
def menu(s):
中的s
是形參。
這里的參數(shù)是按照位置傳遞的。
自定義函數(shù)的參數(shù)可以在調(diào)用的時(shí)候直接傳遞,因此這里就不用input函數(shù)從終端取值。
自定義函數(shù)中的menu('1')
這句代碼的功能與s = int(input())
從終端輸入1的功能是一樣的。
menu(1)
傳入的參數(shù)是整數(shù)1
,終端返回的結(jié)果是1.錄入學(xué)生信息
-
函數(shù)
+關(guān)注
關(guān)注
3文章
4332瀏覽量
62666 -
關(guān)鍵字
+關(guān)注
關(guān)注
0文章
37瀏覽量
6907 -
DEF
+關(guān)注
關(guān)注
0文章
13瀏覽量
6261
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論