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