Python全域性變數用法例項分析

2022-09-27 06:54:08 字數 1060 閱讀 1009

全域性變數不符合引數傳遞的精神,所以,平時我很少使用,除非定義常量。今天有同事問乙個關於全域性變數的問題,才發現其中原來還有門道。

程式大致是這樣的:

constant = 0

def mo :

print constant

constant += 1

return

if __name__ == '__main__' :

modifyconstant()

print constant

執行結果如下:

unboundlocalerror: local variable 'consta程式設計客棧nt' referenced before assignment

看來,全域性變數在函式modifyconstant中邊成了區域性變數,似乎全域性變數沒有生效?

做點修改:

constant = 0

def modifyconstansrxmkixmvzt() :

print constant

#constant += 1

www.cppcns.com return

if __name__ == '__main__' :

modifyconstant()

print constant

執行正常,看來函式內部是可以訪問全域性變數的。

所以,問題就在於,因為在函式內部修改了變數constant,python認為constant是區域性變數,而print constant又在constant += 1之前,所以當然會發生這種錯誤。

那麼,應該如何在函式內部訪問並修改全域性變數呢?應該使用關鍵字global來修飾變數(有點像php):

constant = 0

def modifyconstant() :

global constant

print constant

constant += 1

return

if __name__ == '__main__' :

modifyconstant()

print constant

就這麼簡單!

python中全域性變數的用法

在python中,全域性變數一般有兩種使用方式 第一種 是在乙個單獨的模組中定義好,然後在需要使用的全域性模組中將定義的全域性變數模組匯入。第二種 直接在當前的模組中定義好,然後直接在本模組中通過global宣告,然後使用 具體的方法如下所示 第一種 solr url def tt global s...

Python定義全域性變數的用法

全域性變數是程式語言中常見的一種變數,通過全域性定義,可以是某物件函式建立,也可以是本程式任何位置建立,能夠被本程式中的所有物件或函式進行引用,全域性變數的定義有利於程式的變數共享,簡化了新增和修改的程式。和c語言一樣,python也具有全域性變數,其定義全域性變數的用法有兩種 1.宣告法 該方法是...

python全域性變數的用法詳解

一段時間沒有使用python來寫 就發現以前學習的很多語法都忘了。看來還是當初這方面的專案做的好不夠多,沒有系統性的運用和學習,導致了很多語法不能順手拈來。在接下來的這個專案中,一定要把遇到的一些python知識不熟悉的地方還有遺忘的重新梳理一下,對python要達到靈活運用的境界,不能單純是能敲 ...