目錄python
*形參
app
接收多餘的位置實參,以元組形式保存函數
**形參
code
接收多餘的關鍵字實參,以字典形式保存對象
*實參
生命週期
將元組類型打散,傳給*形參作用域
**實參
it
將字典類型打散,傳給**形參io
能夠做爲引用function
x = 'hello nick' y = x f = func print(f)
做爲容器元素
l = [x] function_list = [func] function_list[0]()
做爲函數參數
len(x) def foo(m): m() foo(func)
做爲函數函數返回值
def foo(x): return x res = foo(func) print(res) res()
打印九九乘法表
for i in range(1,10): for j in range(1,i+1): print(f"{i}*{j}={i*j}",end="") print()
放置內置方法
生命週期:在解釋器啓動時生效,在解釋器關閉時失效
函數中定義的變量和函數
生命週期:在函數調用期間生效,執行結束失效
除了內置和局部都放在全局名稱空間
生命週期:在文件執行時生效,文件結束後失效
內置--》全局--》局部
從當前位置 局部--》全局--》內置
全局有效,全局存活
臨時存儲,只包含局部名稱空間
修改全局做用域中的變量。
x = 1 def f1(): x = 2 def f2(): global x # 修改全局 x = 3 f2() f1() print(x)
x = 1 def f1(): x = 2 def f2(): nonlocal x x = 3 f2() print(x) f1()
在局部想要修改全局的可變類型,不須要任何聲明,能夠直接修改。
在局部若是想要修改全局的不可變類型,須要藉助global聲明,聲明爲全局的變量,便可直接修改。
lis = [] def f1(): lis.append(1) print(f"調用函數前: {lis}") f1() print(f"調用函數後: {lis}")