函數是非常友善的一個工具,它可以幫助我們對代碼的重複利用
1.建立函數
def 函數名(用于在函數内部傳遞的參數):
"""函數介紹"""
函數體
如果需要在函數内部傳遞多個參數,需要用逗号(英文)分隔。
2.調用函數
函數名(傳輸的值)
這樣就可以完成一次函數的調用,傳輸的值可以有可以沒有,如果前面沒有定義内部傳輸的參數時就可以空,如果有很多,每個值之間都需要用逗号(英文)分開。
例子:在一個項目中,需要多次計算每個數的和的函數,以便每次調用
代碼如下:
def add(x,y):
"""功能:計算兩個數的和
x:第一個數
y:第二個數
"""
print(x+y)
a=int(input())
b=int(input())
add(a,b)
這樣一個函數就寫完了,每次使用就直接調用就可以了,非常的友善
3.位置參數
講究一一對應原則
例如上面的例子,在調用時,變量a裡的數會傳輸到x裡,變量b裡面的數會傳輸到y裡面,這就是一一對應原則,如果參數位置錯了,在一些程式中可能會造成報錯。
例如:
def test(x,y):
print(x+9)
print(y+",python")
a=3
b="hello"
test(b,a)
程式就會報錯,原因如下:
TypeError: can only concatenate str (not "int") to str
原因是因為變量b被傳輸到x中去了,是以就出現字元串去加數字,是以就報錯。
4.關鍵字參數
向上面一一對應很多人容易搞錯位置怎麼辦呢,我們就可以在調用的時候指定參數的值就可以解決這個問題了
def test(x,y):
test(x=3,y="hello")
5.預設參數
如果在這個函數内部有一個值是一直不變的,比如一些網站的注冊會讓大家輸入國籍,但都是中國,注冊的人都要輸一遍就很麻煩,是以就要規定一個預設值
def test(name,age,nat="CN"):
這樣就将國籍的參數預設為"CN"了,如果有其他的選項可以再進行修改。
預設參數必須放在最後,否則會出錯
如果自己傻了,忘記規定的是哪一個預設參數,我們可以使用下列方法
函數名.defaults_
來檢視該類函數的預設值
6.可變參數
如果自己想在一個函數内傳輸很多值,但不想規定很多傳輸怎麼辦,
可以使用*parameter或者**parameter這兩種方法
他們之間的差別就是
*parameter #将任意多個參數放在一個元組中
**parameter #将任意多個參數存放在一個字典中
7.傳回值
傳回值是比較重要的一個内容,是将函數的處理結果傳回給調用它的函數
return [傳回的值]
傳回的值可以是一個或者多個,類型可以是任意類型的,如果是多個值,傳回的是一個元組
基礎知識完了,現在可以用本章内容做一道程式題了
題目如下:現在需要編輯一個學籍注冊程式,需要學生填寫姓名、年齡、性别、國籍、電話号碼,需要添加課程選擇項目
非常簡單,點贊過5個 公布答案