[day5]python之函數

函數是組織好的,實現特定功能的代碼段,用的時候,調用相關的函數名便可json

以下,用關鍵字def定義一個函數,函數的函數名不能重複,函數

def add_product():#函數名
with open("products.json", "r+", encoding="utf-8") as f,\#函數體
open("products2.json","w+",encoding="utf-8")as f2:
res = json.load(f)
name = input("商品名稱:")

函數名後面的括號內定義參數,這個參數可填可不填,被稱做「形參」,對應的,函數在調用時傳入的參數被稱做「實參」spa

參數分以下四種:blog

1.位置參數,又被稱做必填參數,須以正確的順序傳入函數。調用時的數量必須和定義時的同樣,不然會報錯,如:utf-8

結果以下:input

2.默認參數:若是傳參了,取傳的值,不傳參,則取默認值,如:it

此時性別未傳參,則取默認的值變量

3.非固定長參數:又叫可變參數,上面的參數的個數都是固定的,而可變參數得個數根據所傳得參數個數來定,變量前面加 」 * " ,一般用,*args表示如:coding

它具有以下特色:im

1).不是必傳得,

2).傳入的參數所有放在元組裏

3).不限制參數個數

4).用在參數較多得狀況下

4.關鍵字參數:通常用「**kwargs"表示

它具有以下特色

1).不是必傳得,

2).他所傳的參數放在以K,V得形式放在字典裏

3).不限制個數 

全局變量與局部變量

當變量定義在函數外面時被稱做全局變量,定義在函數裏面時被稱做局部變量,只在函數內部生效,若想改變全局變量,需在函數內部作聲明,添加global關鍵字,

定義此參數爲全局變量(改變list列表內容除外)

相關文章
相關標籤/搜索