python跨文件使用全局變量的實現(xiàn)
跨文件使用全局變量
有多個py文件同時使用一個全局變量時,那應(yīng)該如何使跨文件,用這個全局變量呢?
1. 錯誤示范
file1.py代碼如下:
num = 1 # 在file1中定義全局變量num=1
def add_value():
global num
num += 100
file2.py代碼如下:
from file1 import *? def sub_value(): ? ? global num ? ? num -= 10 add_value() ? # 在file2中執(zhí)行file1中的add_value函數(shù) sub_value() ? # 執(zhí)行sub_value函數(shù) print(num) ? ?# 打印結(jié)果:-9
很多同學(xué)認(rèn)為應(yīng)該打印92,即:1+100-10 = 91。但是實際只打印了-9,也就說明,file2.py中執(zhí)行的add_value并沒有讓全局變量num發(fā)生變化。
那么,如何讓num變?yōu)檎嬲娜肿兞磕兀?/p>
2. 正確示范
首先,我們單獨定義一個glob.py文件
def _init(): ?# 初始化 ? ? global _global_num ? ? _global_num = [1] ? ? ? ?# 定義一個列表存放全局變量的初始值 def add_num(num): ? ? ? ? ? ?# 為全局變量執(zhí)行加法 ? ? _global_num[0] += num def sub_num(num): ? ? ? ? ? ?# 為全局變量執(zhí)行減法 ? ? _global_num[0] -= num def get_all(): ? ? ? ? ? ? ? # 取出全局變量的值 ? ? return _global_num[0]
其次,file1.py文件代碼如下:
import glob glob._init() ? ? ? ? ? # 必須在file1.py中初始化全局變量 def add_value(num): ? ? glob.add_num(num)
最后,file2.py文件代碼如下:
import glob from file1 import * def sub_value(num): ? ? glob.sub_num(num) add_value(100) sub_value(10) print(glob.get_all()) ? ?# 運行結(jié)果:91
到此這篇關(guān)于python跨文件使用全局變量的實現(xiàn)的文章就介紹到這了,更多相關(guān)python跨文件全局變量內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python 實現(xiàn)判斷圖片格式并轉(zhuǎn)換,將轉(zhuǎn)換的圖像存到生成的文件夾中
今天小編就為大家分享一篇Python判斷圖片格式并轉(zhuǎn)換,將轉(zhuǎn)換的圖像存到生成的文件夾中,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-01-01
在Python中構(gòu)建增廣矩陣的實現(xiàn)方法
今天小編就為大家分享一篇在Python中構(gòu)建增廣矩陣的實現(xiàn)方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-07-07
Python中使用glob和rmtree刪除目錄子目錄及所有文件的例子
這篇文章主要介紹了python中使用glob和rmtree刪除目錄子目錄及所有文件的例子,需要的朋友可以參考下2014-11-11
Python學(xué)習(xí)之路安裝pycharm的教程詳解
pycharm 是一款功能強大的 Python 編輯器,具有跨平臺性。這篇文章主要介紹了Python學(xué)習(xí)之路安裝pycharm的教程,本文分步驟通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-06-06
python數(shù)據(jù)抓取3種方法總結(jié)
這篇文章主要給大家介紹了關(guān)于python數(shù)據(jù)抓取的3種方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-02-02
python爬蟲實現(xiàn)POST request payload形式的請求
這篇文章主要介紹了python爬蟲實現(xiàn)POST request payload形式的請求,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-04-04

