函數基礎python
函數:函數是組織好的,可重複使用的,用來實現單一,或相關聯功能的代碼段。express
函數能提升應用的模塊性,和代碼的重複利用率。Python提供了許多內建函數,好比print()。能夠本身建立函數,這被叫作用戶自定義函數。編程
定義函數app
函數代碼塊以 def 關鍵詞開頭,後接函數標識符名稱和圓括號()。函數
任何傳入參數和自變量必須放在圓括號中間。圓括號之間能夠用於定義參數。ui
函數的第一行語句能夠選擇性地使用文檔字符串—用於存放函數說明。this
函數內容以冒號起始,而且縮進。spa
return [表達式] 結束函數,選擇性地返回一個值給調用方。不帶表達式的return至關於返回 None.code
語法: orm
def functionname( parameters ): "函數_文檔字符串" function_suite return [expression]
示例:
1 #!/usr/bin/env python 2 #coding:utf-8 3 4 def add_function(x,y): #定義函數 5 6 """ 7 This is a function that adds x and y. #函數文檔 8 """ 9 10 result =x + y 11 12 return result # 返回值 13 14 if __name__ =="__main__": #__name__ 是當前模塊名,當模塊被直接運行時模塊名爲 __main__ 。這句話的意思就是,當模塊被直接運行時,如下代碼塊將被運行,當模塊是被導入時,代碼塊不被運行。 15 16 a = 4 17 b = 9 18 c = add_function(a,b) #調用函數 或者 c =add_function(x=a,y=b) 19 20 print "a + b = {0} + {1} ={2}".format(a,b,c)
函數的命名方式:
用小寫字母、下劃線組成 兩個單詞之間用下劃線鏈接 add_function
駝峯命名法 第一個單詞首字母小寫,以後的單詞首字母大寫
調用函數
下降編程的難度,將一個複雜的大問題分解成一系列更簡單的小問題。
代碼重用
示例:
1 #!/usr/bin/env python 2 #coding:utf-8 3 4 def fibs(n): 5 6 """ 7 This is the Fibonacci sequence. 8 """ 9 10 result =[0,1] 11 for i in range(n-2): 12 result.append(result[-2]+result[-1]) 13 14 return result 15 16 if __name__ =="__main__": 17 18 lst=fibs(10) 19 20 print lst
其餘示例:
1 >>> def my_fun(): #定義一個函數 2 return 1,2,3 3 4 >>> a =my_fun() #返回一個元組 5 >>> a 6 (1, 2, 3) 7 >>> type(a) 8 <type 'tuple'> 9 >>> b,c,d =my_fun() #定義一個函數,返回多個值 10 >>> b 11 1 12 >>> c 13 2 14 >>> d 15 3 16 >>> x,y=1,2 17 >>> x 18 1 19 >>> y 20 2 21 >>> def my_fun(): #定義一個沒有返回值的函數 22 print "this is my function" 23 24 25 >>> a =my_fun() 26 this is my function 27 >>> a 28 >>> print a 29 None 30 >>> my_fun 31 <function my_fun at 0x0000000003BCF518> 32 >>> my_fun() 33 this is my function 34 >>> def my_fun(): 35 print "before return" 36 return #遇到return,後面的操做不在執行 37 print "after return" 38 39 >>> my_fun() 40 before return 41 >>>
函數文檔
function.__doc__ 查看文檔
help(function) 查看文檔