函數其實就比如是一個工具,我麼隨時須要用的時候,就拿過來用。python
''' def 函數名(): # 定義階段(造車輪階段) """函數註釋寫在這裏""" # 函數至關於工具, 註釋至關於工具的說明書 <代碼塊> # 使用 # 調用階段 函數名() '''
定義無參函數的時,就表明咱們調用這個函數的時候也不須要傳入參數。函數
也就表明着這個工具是能夠直接拿來使用的工具
若是函數體內的代碼邏輯是不須要外部來傳入值的話,就必須定義成無參函數code
def func(): x = input('num1':) y = input('num2:') print(int(x)+int(y)) func()
定義有參函數時,表明咱們在調用這個函數的時候是必定須要從函數體外部傳入參數的input
有參函數也就是說我雖然定義了這個工具,可是我須要其餘東西的協助纔可以使用class
若是函數體內的代碼邏輯是須要外部來傳入值的話,就必須定義成有參函數變量
def add(x, y): return int(x) + int(y) num1 = input("num1:") num2 = input('num2:') res = add(num1,num2) print(res)
當咱們之我知道函數的功能是什麼,可是殊不知道他怎麼實現的時候,咱們就能夠先寫一個空函數數據類型
def fun(): pass
1.形參語法
def fun(x,y)----x,y就是形參
2.實參引用
fun(1,2)
1.位置形參
在函數定義階段,按照從左到右的順序依次定義的形參,稱之爲位置形參。
def fun(x,y)---x,y就是位置形參
2.位置實參
在函數調用階段,按照從左到右的順序依次定義的實參,稱之爲位置實參
fun(1,2)
3.注意:
在定義階段就已經被賦值,意味着在調用時能夠不用爲其賦值。
不須要傳參,可使用默認值; 傳參就使用你傳的值。
默認形參必須放到位置形參後面
默認形參的值只在定義階段賦值一次,也就是說默認參數的值在函數定義階段就已經固定了。
def shopping(name='nick'): # 形參常常會引用同一個值 goods_dict = {1: '特斯拉', 2: '奔馳', 3: 'nick'} print(f'恭喜{name},獲得{goods_dict[1]}一個') shopping('yongjiu')
按照形參名給定具體的值,能夠打破位置形參必須得一一對應傳值的規定,位置實參必須在關鍵字實參以前
def shopping(x, name='nick'): goods_dict = {1: '特斯拉', 2: '奔馳', 3: 'nick'} print(f'恭喜{name},獲得{goods_dict[x]}一個') shopping(1, name='yongjiu')