-1

我对 python 编程语言完全陌生,我试图发现全局变量的用法。我写了一个非常简单的程序,它由两个 python 文件组成,分别是 main.py 和 neuralnetwork.py。神经网络文件由几个类和函数组成。此时我想从 main.py 文件中的函数调用全局变量。

但不幸的是,当我在主文件中调用它们时,相关的全局变量并没有被更新。

神经网络.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

主文件

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 文件中调用此全局变量。

如何在“初始化”函数中正确更新这个全局变量?

4

1 回答 1

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)
于 2018-06-07T09:31:22.020 回答