函數;{必備參數,關鍵字參數,默認參數[此參數必須跟在其他參數後面],動態參數}
--------------------------------------------------------------------------------------------------------
函數的作用域(分4種):
L:local ,本地(局部)作用域;即函數中定義的變量;
E;eclosing;嵌套父級函數的局部作用域; 既包含此函數的上級函數的局部作用域,但不是全局
G;global;全局變量(作用域):即模塊級別定義的變量
B;build-in ;系統模塊裏的變量;
優先級:LEGB
-------------------------------
def myself_info(name,age): print ('Name:%s',%name,'Age:%s',%s) myself_info('eric',28)#必備參數 ------------------------------------------------------- def myself_info(name,age): print ('Name:%s',%name,'Age:%s',%s) myself_info(Age=28,Name='eric')#關鍵參數 def myself_info(name,age,sex='male'): print ('Name:%s',%name,'Age:%s',%Age) print ('Sex: %s',%Sex) myself_info('eric',28)#默認參數 ------------------------------------------- def add(*args): print(args) sum = 0 for i in args: sum+=i print(sum) add(1,2,3,4,6,8,9)#動態參數(不定長參數) ---------------------n
('eric', 30) {'job': 'IT', 'hobby': 'games'} ------------------------------------------------ #函數名可以進行賦值,函數名也可做爲函數的參數,和還作爲函數的返回值; def foo(): def inner(): return 8 return inner foo()#這裏調用執行的是inner的內存地址 result = foo ()#賦值 print(result()):這裏加括號的調用纔是真正的拿到結果; def f(n): return n*n def foo (x,y,func): result = func(x)+func(y)#x=1,y=2;func執行就是f這個函數 return result re = foo(1,2,f) #這裏的f指f,這個函數被當參數傳進來了; print(re) 5