函式2 作用域

2022-08-21 13:12:08 字數 612 閱讀 2450

二、作用域

1.誰作用的哪個區域:

- 誰:資料(變數)

- 哪個:如何劃分,函式就是乙個區域

2.分類:

全域性- 不屬於任何乙個函式

- 全域性作用域中的變數,叫全域性變數

- 全域性作用域中的函式,叫全域性函式

- 生命週期:一直存在

- 耗效能,但是方便

- 少用全域性

- 區域性

- 任何乙個函式內部都是區域性作用域

- 區域性作用域中的變數,叫區域性變數

- 區域性作用域中的函式,叫區域性函式

- 生命週期:朝生暮死

- 節省記憶體,不方便

- 函式的引數(形參):是當前函式的區域性變數

3.變數的讀寫規則

- 當全域性和區域性的變數名重複時

- 讀的規則:

- 向上級作用域查詢,找到了,就使用,同時,停止查詢;找到頂級作用域,都沒有,**報錯**

- 寫(設定,賦值)的規則:

- 向上級作用域查詢,找到了,就寫入,同時,停止查詢;找到頂級作用域,都沒有,**會預設在頂級作用域宣告這個變數,然後使用**

- 注意:宣告變數時,必須加宣告關鍵字,不加宣告關鍵字,可能能執行,但是不規範

函式作用域

有巢狀函式的時候有return x的返回函式x的位址,沒有的則為none def f1 n1 f1 print f1中 n1 def f2 n2 f2 def f3 n3 f3 print f3中 n3 print f2中 n2 return f3 return f2 r1 f1 print r1 ...

函式作用域

匿名函式,lambda def f o if o 7 print o print list filter lambda o o 8,4,77 22,4 8 list filter f,4,77,22,4,8 列印的話會返回none 77,22 7722 8a 5deff global a 要用全域性...

函式作用域

函式作用域 呼叫函式時建立函式作用域,函式執行完畢以後,函式作用域銷毀 每呼叫一次,函式就會建立乙個新的函式作用域,它們之間是互相獨立的 在函式作用域中,可以訪問到全域性作用域的變數 在全域性作用域中無法訪問到函式作用域的變數 具體示例 當在函式作用域操作乙個變數時,它會先在自身作用域中尋找,如果有...