咨询电话:
15628812133
06
2024/03

Python中定义的全局变量每次获取的时候会重新计算赋值吗?

发布时间:2024-03-06 13:52:46
发布者:已经写了
浏览量:
0

在程序开发过程中,我们通常会有很多的数据被重复的使用,重点使用,这个时候我们通常会将这个常用的数据定义成为一个全局变量或者常量,这样我们在书写代码的时候不用一遍一遍的去重新定义内容,直接调用常量或者变量就可以了,不但可以减少代码的重复,也可以精简和美化代码

Python中,我们通常会在方法外面去定义全局变量,这样我们就可以在其他方法中来灵活调用,定义的时候可以赋予变量一个初始值,这个值可以在定义的方法中直接调用,也可以修改变量的内容,在最近的一个项目中,在开发统计功能的时候,由于基本上每个接口都会用到时间函数获取当前的时间来计算,每周的日期,或者月份的日期,但是获取当前时间的代码datetime.datetime.now()感觉有点长,每次还需要计算或者后面在获取时分秒的就更长,于是就把这个方法定义成了常量,想要在每次需要使用这个方法获取当前时间的时候可以直接调用缩短代码长度,于是直接在定义了一个全局变量t=datetime.datetime.now()定义之后也可以在方法内直接使用,感觉特别方便

可以在实际使用了一段时间后,发现查询出来的数据好像有问题,时间上总是对不太上,还没发现是哪里的问题,于是去检查接口写的是否有问题,但是代码一重新运行之后就发现,没有问题了,数据对了。但是过了半天后,数据又不对了。反反复复几次之后发现这里好像有大bug

Python中定义的全局变量每次获取的时候会重新计算赋值吗?

经过测试发现,这个全局变量的值虽然可以直接调用,但是值一直没变,于是就很尴尬,所以在Python中,全局变量的值不会每次都重新计算获取当前的时间,除非在某个方法或者代码里面重新运行一次,否则他的值会一直保持不变。所以如果你想要每次都获取当前的实际时间的话不能够这样直接定义变量来获取,需要定义一个方法来返回当前时间才可以

Python中定义的全局变量每次获取的时候会重新计算赋值吗?

关键词:
返回列表