python學習筆記5-自定義函數
阿新 • • 發佈:2017-05-18
函數調用 筆記 取值 修改 args pytho class 名稱 func
1 自定義函數
(1)函數代碼塊以def關鍵字開頭,然後函數標識符名稱和圓括號
(2)任何傳入參數和自變量必須放在圓括號中間。圓括號之間可以用於定義參數
(3)函數的第一行語句可以選擇性的使用文檔字符串用於存放函數說明
(4)函數內容以冒號開始 並且縮進
(5)return[expression]結束函數 選擇性的返回一個值給調用方 不帶
表達式的return相當於返回none
2 基本的定義和調用
1 #自定義函數 2 ‘‘‘ 3 def functionname( parameters ): 4 "函數_文檔字符串" 5 function_suite6 return [expression] 7 ‘‘‘ 8 9 def printme( str ): 10 "打印傳入的字符串到標準顯示設備上" 11 print (str) 12 return 13 14 #函數調用 15 printme("我要調用用戶自定義函數!"); 16 printme("再次調用同一函數"); 17 18 19 # 可寫函數說明 20 def changeme( mylist ): 21 "修改傳入的列表" 22 mylist.append([1,2,3,4]); 23 print ("函數內取值:", mylist) 24 return 25 26 # 調用changeme函數 27 mylist = [10,20,30]; 28 changeme( mylist ); 29 print ("函數外取值: ", mylist) 30 31 32 #參數 調用的時候沒有傳導致錯誤 33 def printme( str ): 34 "打印任何傳入的字符串" 35 print (str); 36 return; 37 38 #調用printme函數 39 printme();
2.1 參數可以不按照順序傳 但是要有命名
1 #調用printme函數 2 printme( str = "My string"); 3 4 #命名參數 即使順序不一樣 仍然可以自動匹配到 5 def printinfo( name, age ): 6 "打印任何傳入的字符串" 7 print ("Name: ", name); 8 print ("Age ", age); 9 return; 10 11 #調用printinfo函數 12 printinfo( age=50, name="miki" );
1 #調用printinfo函數 2 printinfo( age=50, name="miki" ); 3 4 5 def printinfo( name, age = 35 ): 6 "打印任何傳入的字符串" 7 print ("Name: ", name); 8 print ("Age ", age); 9 return; 10 11 #調用printinfo函數 12 printinfo( age=50, name="miki" ); 13 printinfo( name="miki" );
2.2不定長參數
1 #不定長參數 2 ‘‘‘ 3 def functionname([formal_args,] *var_args_tuple ): 4 "函數_文檔字符串" 5 function_suite 6 return [expression] 7 ‘‘‘ 8 def printinfo( arg1, *vartuple ): 9 "打印任何傳入的參數" 10 print ("輸出: ") 11 print (arg1) 12 for var in vartuple: 13 print (var) 14 return; 15 16 # 調用printinfo 函數 17 printinfo( 10 ); 18 printinfo( 70, 60, 50 );
2.3匿名函數
1 #匿名函數 2 ‘‘‘ 3 lambda [arg1 [,arg2,.....argn]]:expression 4 ‘‘‘ 5 6 sum = lambda arg1, arg2: arg1 + arg2; 7 # 調用sum函數 8 print ("相加後的值為 : ", sum( 10, 20 )) 9 print ("相加後的值為 : ", sum( 20, 20 ))
python學習筆記5-自定義函數