Python中的倍数函数中的全局变量

时间:2015-09-25 21:27:09

标签: python function variables import global

我将尝试用例子解释我的情况:

我使用global来声明一个变量,但这只在函数中起作用,当我尝试另一个子函数时不起作用。

register.py

def main():
    alprint = input("Enter something: ")
    if alprint == "a":
        def alCheck():
            global CheckDot
            CheckDot = input("Enter your opinion: ")
        def alTest():
            global CheckTest
            CheckTest = input("Hope it works: ")
        alCheck()
        alTest()
main()

和content.py

from register import CheckTest

if CheckTest == "ad":
    print("You are welcome!")

当我在main的子函数(function,alTest())中声明这个变量checkTest时,使用全局并导入到另一个文件,它不起作用,我尝试了很多东西,但没有。

1 个答案:

答案 0 :(得分:2)

工作,但如果用户为第一个git.exe输入a以外的内容,则input未定义,那么它会给出一个CheckTest。你可能想尝试这样的事情:

ImportError

这样,始终定义def main(): global CheckTest, CheckDot def alCheck(): global CheckDot CheckDot = input("Enter your opinion: ") def alTest(): global CheckTest CheckTest = input("Hope it works: ") alprint = input("Enter something: ") if alprint == "a": alCheck() alTest() else: CheckTest = None CheckDot = None main() CheckTest