python不能像c++一樣直接定義乙個static變數或者通過extern來匯入別的庫的變數而實現資料共享,但是python的思想是通過模組化來解決這個問題,就是通過模組來實現全域性變數:
首先新建乙個global_var_model .py的檔案,也就是儲存全域性變數的模組
# coding=utf-8
#在別的檔案使用方法:
#import global_var_model as gl
#gl.gl_int_i += 4,可以通過訪問和修改gl.gl_int_i來實現python的全域性變數,或者叫靜態變數訪問
#gl.gl_int_i
gl_int_i=1 #這裡的gl_int_i是最常用的用於標記的全域性變數
gl_str_i='one'
這個模組裡面可以加入自己的變數variable,好了以後在另乙個檔案裡面實現呼叫該全域性變數:
加入現在在test.py裡面呼叫全域性變數
# coding=utf-8
import global_var_model as gl
#可以實現對全域性變數的修改
deffun1
(): gl.gl_int_i += 4
return gl.gl_int_i
a=fun1()
print a
deffun2
(): gl.gl_int_i += 400
return gl.gl_int_i
b=fun2()
print b
輸出結果是5和405
可見實現以模組global_var_model 內的變數以全域性變數的功能.
區域性變數,區域性靜態變數,全域性變數,全域性靜態變數分別
c 記憶體到底分幾個區?一 1 棧區 stack 由編譯器自動分配釋放 存放函式的引數值,區域性變數的值等。其操作方式類似於資料結構中的棧。2 堆區 heap 一般由程式設計師分配釋放,若程式設計師不釋放,程式結束時可能由os 注意它與資料結構中的堆是兩回事,分配方式倒是類似於鍊錶,呵呵。3 全域性...
全域性變數,全域性靜態變數,區域性靜態變數,區域性變數
變數可以分為全域性變數 靜態全域性變數 靜態區域性變數和區域性變數。按照儲存區分 全域性變數 靜態全域性變數和靜態區域性變數都存放在記憶體的全域性資料區,區域性變數存放在記憶體的棧區。按作用域分 全域性變數在整個工程檔案內都有效 靜態全域性變數只在定義它的檔案內有效 靜態區域性變數只在定義它的函式內...
區域性變數,區域性靜態變數,全域性變數,全域性靜態變數分別
c 記憶體到底分幾個區?一 1 棧區 stack 由編譯器自動分配釋放 存放函式的引數值,區域性變數的值等。其操作方式類似於資料結構中的棧。2 堆區 heap 一般由程式設計師分配釋放,若程式設計師不釋放,程式結束時可能由os 注意它與資料結構中的堆是兩回事,分配方式倒是類似於鍊錶,呵呵。3 全域性...