上一篇文章: Python經常使用運算符與經常使用內置函數
下一篇文章: Python類的定義與操做
語法:python
def 函數名(): 函數代碼
實例:segmentfault
def printHello(): print("Hello world") #調用函數 printHello()
結果:函數
Hello world
help(函數名稱):返回對應函數的幫助文檔。在函數定義中的首行,用「」添加的就是幫助文檔。code
實例:排序
def printHello(): "幫助文檔:打印hello world" print("Hello world") help(printHello)
結果:文檔
Help on function printHello in module __main__: printHello() 幫助文檔:打印hello world
python採用應用傳參,當參數類型爲不可變類型時,對參數沒有影響,當參數類型爲可變時,可能會修改參數
實例:get
#定義b的默認值爲3 def add(a,b=3): return a+b #調用函數 print(add(1,2)) print(add(1))
結果:io
3 4
實例:function
def A(): print("A函數調用") def B(): print("B函數調用了") print("A函數調用B函數前") B() print("函數A調用函數B後") #調用函數 A()
結果:import
A函數調用 A函數調用B函數前 B函數調用了 函數A調用函數B後
加了*的參數變量,還用元組來存儲多個參數。加了**的參數,會用字典來存儲多個參數
實例:
#定義b的默認值爲3 #c爲元組 #d爲字典 def add(a,b=3,*c,**d): print("a=",a) print("b=",b) print("c=",c) print("d=",d) #調用函數 add(1,2) print("*"*30) add(1) print("*"*30) add(1,2,3,4,5) print("*"*30) add(1,2,3,4,5,name="mark",age=18)
結果:
a= 1 b= 2 c= () d= {} ****************************** a= 1 b= 3 c= () d= {} ****************************** a= 1 b= 2 c= (3, 4, 5) d= {} ****************************** a= 1 b= 2 c= (3, 4, 5) d= {'name': 'mark', 'age': 18}
用lambda關鍵詞能夠建立小型函數,省略了用def關鍵字來聲明函數的標準步驟。
實例:
add=lambda a,b:a+b print(add(2,3))
結果:
5
實例:
def fun(a,b,lam): print("a=",a) print("b=",b) print("a+b=",lam(a,b)) add=lambda a,b:a+b fun(4,5,add)
結果:
a= 4 b= 5 a+b= 9
實例:
#簡單列表排序很簡單 ages=[18,19,17] print(ages) ages.sort() print(ages) #當列表內包含的是字典,怎麼根據字典內的age排序呢? infors=[ {"name":"mark","age":18}, {"name":"sq","age":19}, {"name":"xman","age":17} ] print(infors) ''' 下面匿名函數等效於: def fun(x): return x["age"] ''' infors.sort(key=lambda x:x["age"]) print(infors)
結果:
[18, 19, 17] [17, 18, 19] [{'name': 'mark', 'age': 18}, {'name': 'sq', 'age': 19}, {'name': 'xman', 'age': 17}] [{'name': 'xman', 'age': 17}, {'name': 'mark', 'age': 18}, {'name': 'sq', 'age': 19}]
導入整個模塊:import 模塊名導入特定的函數:from 模塊名 import 特定函數
使用as給函數重命名:from 模塊名 import 特定函數 as 新名稱
使用ad給模塊衝命名 import 模塊名 as 新名詞
導入模塊的全部函數:from 模塊名 import *