學python必須要知道的作用域

變量名?可分配?到3個不同?的地方?,分配?對應?于3個不同?的作用域
1.如果?變量?在def內給予?,則在該函數(shù)?內
2.在嵌套?的def中給予?變量?的情況?下,嵌套?的函數(shù)?不是?當?shù)?/span>?的
3.如果?在def以外?給予?價值?,那就是?整個?文件?的全局?。
例如?,如下?:
x=1。
defnum():
x=2。
兩個?變量名?都是?x,但可以?根據(jù)?其作用?區(qū)域?進行?區(qū)別?,因此?功能?區(qū)域?有助于?防止?程序?中的變量名?。
的沖突?有助于?函數(shù)?成為?更獨立?的程序?單元?。
變量名?分析?遵循?LEGB原則
在函數(shù)?中使用?未經(jīng)?認證?的變量名?時,Pyt?hon搜索?了4個作用域
本地?作用域?(l),然后?是上層?結構?中def或lam?bda?的本地?作用域?(e),然后?是全局?作用域?(g),最后?是內置?作用域?(b)
此外?,應該?注意?的是,在不?熟悉?編程?的情況?下,盡量避免?使用?全球?作用域?。
標簽: