一、
1.函數
定義:def關鍵字開頭,空格之后接函數名稱和圓括號(),后面緊跟‘:”。
函數是對功能的封裝
語法:
def 函數名(形參列表):
函數體(代碼塊,return)
調用:
函數名(實參列表)

#函數定義 def mylen(): """計算s1的長度""" s1 = "hello world" length = 0 for i in s1: length = length+1 print(length) #函數調用 mylen()
2.return是一個關鍵字,很重要需要記下來。這個詞的意思是“返回”,他后面的值就叫“返回值”。
遇到return,此函數結束,函數后面的東西將不會再執行

#函數定義 def mylen(): """計算s1的長度""" s1 = "hello world" length = 0 for i in s1: length = length+1 return length #函數調用 str_len = mylen() print('str_len : %s'%str_len)
二、
return 返回值
如果return什么都不寫或者干脆不寫return。那么返回的就是None
如果return后面寫了一個值,則調用者可以接收一個結果
如果return后面寫了多個結果,則調用者可以接收一個tuole,調用者可以直接解構成多個變量
1.沒有返回值
不寫return的情況下,會默認返回一個None

#函數定義 def mylen(): """計算s1的長度""" s1 = "hello world" length = 0 for i in s1: length = length+1 print(length) #函數調用 str_len = mylen() #因為沒有返回值,此時的str_len為None print('str_len : %s'%str_len
2.只寫return后面不跟返回值,也會返回一個None。只要return出現了就會結束函數****

def ret_demo(): print(111) return print(222) ret = ret_demo() print(ret) #111
3.return None和上面兩種情況一樣。
4.return后面有返回值

#函數定義 def mylen(): """計算s1的長度""" s1 = "hello world" length = 0 for i in s1: length = length+1 return length #函數調用 str_len = mylen() print('str_len : %s'%str_len)
5.返回多個值(可以返回任意多個、任意數據類型的值)

def ret_demo1(): '''返回多個值''' return 1,2,3,4 def ret_demo2(): '''返回多個任意類型的值''' return 1,['a','b'],3,4 ret1 = ret_demo1() print(ret1) ret2 = ret_demo2() print(ret2)
6.返回的多個值是已元組的形式被返回,也可以用多個值來接收

def ret_demo2(): return 1,['a','b'],3,4 #返回多個值,用一個變量接收 ret2 = ret_demo2() print(ret2) #返回多個值,用多個變量接收 a,b,c,d = ret_demo2() print(a,b,c,d) #用多個值接收返回值:返回幾個值,就用幾個變量接收 a,b,c,d = ret_demo2() print(a,b,c,d)
三、
參數
函數執行的時候給函數傳遞信息
*形參:函數聲明的位置的變量
*實參:函數調用的時候給的具體的值
傳參:把實參交給形參的過程
1>.實參:
位置參數,按照形參的參數位置,給形參傳值
關鍵字參數,按照形參的名字給形參傳值
混合參數,即用位置參數,也用關鍵參數
2.形參:
位置參數
默認參數