天天看点

python 全局变量_python程序中用类变量代替global 定义全局变量

python 全局变量_python程序中用类变量代替global 定义全局变量

在python编程中,一般使用global 关键字来定义全局变量,但是发现 global 关键字在涉及多个文件时,好像存在问题。

比如,单个文件下用global定义使用全局变量的情况 ,看下面的代码

程序运行结果如下:全局变量运行正确

下面把上述代码拆分成两个文件,

data_def.py

main.py

data_def.py

定义全局变量

distance

和类 ,

main.py

导入

data_def.py

data_def.py

文件代码如下:

main.py文件代码如下:

程序运行结果:

两次运行的结果存在出入,可以发现,用global 在不同文件间操作全局变量时,生成的结果和我们想象的不太一样,具体原因还不明确??知道原因的欢迎留言。

为此,可以考虑用类变量来定义全局变量。实现方式看以下代码。

第一个文件(

data_def.py

)定义两个类,第一个类定义全局变量distance ,第二个类为普通操作类

第二个文件(main.py) 导入第一个文件定义的类,并进行变量操作

程序执行输出结果:

从输出结果可以看出,利用类变量的方式也可以实现全局变量的定义,并且可以跨文件操作。

继续阅读