我是python编程语言的新手,我试图发现全局变量的用法。我写了一个非常简单的程序,它包含两个python文件main.py和neuralnetwork.py.Neural网络文件由几个类和函数组成。此时我想从main.py文件中的函数调用全局变量。
但遗憾的是,当我在主文件中调用它们时,相关的全局变量没有被更新。
Neuralnetwork.py
import os.path
import numpy as np
IMAGE_H = 0
class initialization(object):
def parsing(self):
global IMAGE_H
IMAGE_H = 25
print IMAGE_H
Main.py
import sys
from Neuralnetwork import *
def main():
init=initialization() //class instance
init.parsing()
print(IMAGE_H)
基本上,我从Neuralnetwork.py文件中调用“IMAGE_H”全局变量,但正如我之前所说的那样,相关的全局变量没有被更新。
它始终显示IMAGE_H变量等于“0”(其初始值)而不是函数中指定的“25”。与其他问题的主要区别是从另一个python文件中调用此全局变量。
如何在“初始化”功能中正确更新此全局变量?
答案 0 :(得分:1)
不要使用全局变量。你几乎从不需要Python,特别是作为初学者。
相反,班级Initialization
可以有一个变量image_h
,如下所示:
class Initialization(object):
def __init__(self):
self.image_h = 0
def parsing(self):
self.image_h = 25
def main():
init = Initialization() //class instance
init.parsing()
print(init.image_h)