1.函數 #函數語法: #函數名規範:小謝字母開頭,不同字母下劃線隔開(字母數字下劃線) #def 函數名(): #函數體:希望函數做的事情 1.1.無參函數 #無參函數 def music(): print("唱著又沒動聽的歌聲...") #調用函數 music() 1.2.有參函數 #有參函數 ...
1.函數
#函數語法: #函數名規範:小謝字母開頭,不同字母下劃線隔開(字母數字下劃線) #def 函數名(): #函數體:希望函數做的事情
1.1.無參函數
#無參函數 def music(): print("唱著又沒動聽的歌聲...") #調用函數 music()
1.2.有參函數
#有參函數 def zgl_music(name): #形參 print("{0}唱著又沒動聽的歌聲...".format(name)) zgl_music("諸葛亮")#傳參:實參 #有參函數-預設參數 def speak(name,yy="中文"): print("{0}說著{1}".format(name,yy)) speak(name="劉備")#劉備說著中文 speak("關於","阿拉伯語")#關於說著阿拉伯語
1.2.1.請把1-100的整數相加和的功能,寫成一個函數
#請把1-100的整數相加和的功能,寫成一個函數 def jia(sum1,sum2): #判斷sum1<sum2 if sum1<sum2: sum = 0 for item in range(sum1,sum2+1): sum = sum+item print("{0}到{1}之間數字相加的結果為:{2}".format(sum1,sum2,sum)) else: print("輸入錯誤!") jia(1,100)
1.3.return
reruen #返回函數結果
#返回a與b的和 def sum(a,b): return a+b #將結果返回 sum = sum(1,2)#返回的結果賦值給另一個變數 print(sum)# 3
1.3.1.無參無返
#無參無返 def sum1(): print("這是個無參無返的函數") #調用函數 sum1()
1.3.2.有參無返
#有參無返 def sum2(a,b): print(a+b) #調用函數 sum2(2,3)
1.3.3.無參有返
#無參有返 def sum3(): return 10 #調用函數 sum3()
1.3.4.有參有返
#有參有返 def sum4(a,b): return a+b #調用函數 sum4(5,5)
1.3.5.寫一個函數,檢查傳入列表的長度,如果大於2,那麼保留前兩個長度的內容,並將新內容返回
def new_list(lists): if len(lists)>2: return lists[0:2] a=[1,2,3,4] print(new_list(a))
1.4.動態參數/不定長參數 *args ☆ ☆ ☆
#動態參數/不定長參數 def sum(*args): #*args arguments print(args)#('張三', '李四', '王五', '麻六') 元組 print("張三:{0}".format(args[0])) print("李四:{0}".format(args[1])) print("王五:{0}".format(args[2])) print("麻六:{0}".format(args[3])) sum("張三","李四","王五","麻六")
1.4.1.動態參數練習
#動態參數求兩個數的和 #第一種 def sum1(*a): return a[0]+a[1] print(sum1(8,9)) #第二種 def sum2(*args): sum = 0 for item in args: sum += item return sum print(sum2(2,3))
1.4.1.1.補充1
#第一種 def sum2(*args,a): sum = 0 for item in args: sum += item print("a = {0}".format(a)) return sum print(sum2(2,3,a=1))
輸出:
a = 1
5
1.4.1.2.補充2
#第二種 def sum2(a,*args): sum = 0 for item in args: sum += item print("a = {0}".format(a)) return sum print(sum2(2,3,4,5,6))
輸出:
a = 2
18
1.5.關鍵字參數 key-value **kwargs ☆ ☆ ☆
#關鍵字參數 key-value **kwargs def kw_sum(**kwargs):# key=value print(kwargs) a={"name":"張三"} kw_sum(k=1,y=2,m=3) #{'k': 1, 'y': 2, 'm': 3}
1.6.變數作用域
#全局變數:在模塊裡面都能調用
#局部變數:只能用於函數
#當全局和局部變數同名且同時存在的時候,函數有限調用局部變數
a=1#全局變數 def add(b): a=5#局部變數 print(a+b) add(10)#15
1.6.1.全局變數 global
global a#全局變數/聲明這是一個全局變數 def add(b): a=5#局部變數 print(a+b) add(10)#15