python當中函式的區域性變數和全域性變數

2021-10-05 08:23:59 字數 731 閱讀 7033

區域性變數:是指在函式內部定義並使用的變數,他只是在函式的內部有效,即函式內部的名字只在函式執行時才會建立,在函式執行之前或者執行完畢之後,所有的名字就都不存在了,所以如果在函式外部使用函式內部定義的變數時就會丟擲nameerror異常。

全域性變數:與區域性變數對應,全域性變數為能夠作用於函式外的變數。全域性變數主要有以下兩種:

1.如果乙個函式在函式體外定義,那麼不僅僅在函式外可以訪問到,在函式內部也可以訪問到。函式體以外的變數就是全域性變數

2.如果乙個變數在函式體內部定義,並且是以global關鍵字修飾後,改變量也就成為全域性變數函式體外也可以訪問此變數。

注意:python當中允許全域性變數和區域性變數重名,但在實際開發當中不會這麼做,容易導致**混亂,分不清全域性變數和區域性變數

a =

1print

('外面:',id

(a)) 外部定義全域性變數,id

()檢視變數在記憶體當中的編號

deffun()

:global a 函式內部定義全域性變數

a =5print

('裡面:',id

(a))

fun(

)print

(a)print(id

(a))

列印結果

外面:140287825417440

裡面:140287825417568

5140287825417568

python函式區域性變數

python簡單變數 不考慮類變數 分為兩類 函式內定義的區域性變數,和函式外定義的全域性變數 基本訪問規則 1.在函式內部,可以直接 讀取訪問全域性變數 注意唯讀 usr bin env python i 10 def f j i 1 讀取全域性變數i f print i d i 2.在函式內部,...

python函式和區域性變數

不帶引數的方法,攜帶返回值 defmethod return 不攜帶引數的方法 不帶引數的方法,攜帶返回值 defmethod1 print 不攜帶引數的方法 二者區別 函式呼叫 print method 只執行方法,不列印的話無法顯示資訊 method1 在方法中直接進行了列印,可以直接顯示,但是...

python中函式的區域性變數

1 def discount price,rate 定義函式名discount,兩個形式引數price和rate sell price price rate return sell price 函式返回售價 price float input please input the price 此處接受輸...