天天看點

基礎知識 函數

函數是非常友善的一個工具,它可以幫助我們對代碼的重複利用

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個 公布答案