Pyhon實現靜態變數全域性變數

2021-07-25 07:35:15 字數 870 閱讀 1700

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 全域性...