簡體   English   中英

如何聲明對導入的模塊函數可見的全局變量

[英]How to declare global variable that is visible to imported module functions

在導入的.py模塊中聲明的任何global變量仍然是全局“在”其自己的模塊中,並且它是全局“在”腳本或導入此模塊的程序內(使用Python import命令)。 現在如果在導入模塊X我聲明了一個全局變量Y 並且我想為導入的模塊X定義的函數創建一個變量Y“可見”或global (所以我不必將Y作為參數傳遞給導入的模塊函數)?

要導入“myModule.py”:

def printX():
    print variableX

def printY():
    global variableY
    variableY='y'
    print variableY

主程序

import myModule as myModule
myModule.printY()
print myModule.variableY

global variableX
variableX='X'
print variableX

myModule.printX() # this will result to NameError

myModule.printX()結果為:

NameError: global name 'variableX' is not defined

printX函數在printX查找全局variableX myModule 那是你應該聲明你的變量的地方:

import myModule as myModule
myModule.printY()
print myModule.variableY

myModule.variableX = 10
print myModule.variableX

myModule.printX()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM