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

本文讨论了Python中使用global关键字定义全局变量的问题,特别是在多文件项目中可能出现的不一致现象。提出使用类变量作为全局变量的替代方案,通过实例展示了如何在类中改变和访问这些变量,确保跨文件操作的一致性。
摘要由CSDN通过智能技术生成

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

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

#-*-coding: utf-8 -*-#from data_def import *

distance=34

classtest(object):def __init__(self):pass

#在类里面改变全局变量的值

defchange_1(self):globaldistance

distance=90

print("distance in class:", distance)#输出全局变量的值

defprint_value(self):globaldistanceprint("distance in class:", distance)#在函数里面使用和打印全局变量的值

deffunction_test():globaldistanceprint("global value in function", distance)

distance=234

print("global value in function",distance)

function_test()#在函数里面使用和改变全局变量的值 34->234

t=test()

t.print_value()#在类里面打印全局变量的值 234

t.change_1() #在类里面改变全局变量的值 234->90

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

global value in function 34

global

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值