python 函式與模組
阿新 • • 發佈:2020-11-12
1,定義函式
def 函式名(引數表):
函式語句
return 發回值
引數和返回值都可以省略
def hello(): print("Xyf 無敵") hello()
2,引數傳遞
def add(a,b): return a+b print(add('a','b')) #順序依次傳遞 print(add(b='a',a='b')) #按形參賦值
def solve(a): a[0]='abc' x=[1,2] solve(x) print(x)
對於可變物件,列表,字典等,若在函式中修改形參,通過共享引用,實參也會變
如果不希望實參改變,可以傳遞拷貝的列表
def solve(a): a[0]='abc' x=[1,2] solve(x[:]) print(x)
def solve(a=1): #可以為a設定預設值,若呼叫時未提供實參,則為預設值 a[0]='abc' x=[1,2] solve(x[:]) print(x)
python 允許函式內部巢狀函式
但是內部的函式只允許內部使用
3,lambda函式
定義一些簡單的函式
add=lambda a,b:a+b print(add(1,2))
4,函式列表
add=lambda a,b:a+b def solve(a):return a*a d=[add,solve] print(d[0](1,2)) print(d[1](5))
5,函式字典
add=lambda a,b:a+b def solve(a): return a*a d={'求和':add,'平方':solve} print(d['求和'](1,2)) print(d['平方'](5))