久久无码中文字幕_日韩精品无码一本二本三_久久精品呦女暗网_欧美一级夜夜爽_久久精品国产99久久99久久久

06
2024/03

Python中定義的全局變量每次獲取的時候會重新計算賦值嗎?

發(fā)布時間:2024-03-06 13:52:46
發(fā)布者:已經(jīng)寫了
瀏覽量:
0

在程序開發(fā)過程中,我們通常會有很多的數(shù)據(jù)被重復的使用,重點使用,這個時候我們通常會將這個常用的數(shù)據(jù)定義成為一個全局變量或者常量,這樣我們在書寫代碼的時候不用一遍一遍的去重新定義內(nèi)容,直接調(diào)用常量或者變量就可以了,不但可以減少代碼的重復,也可以精簡和美化代碼

Python中,我們通常會在方法外面去定義全局變量,這樣我們就可以在其他方法中來靈活調(diào)用,定義的時候可以賦予變量一個初始值,這個值可以在定義的方法中直接調(diào)用,也可以修改變量的內(nèi)容,在最近的一個項目中,在開發(fā)統(tǒng)計功能的時候,由于基本上每個接口都會用到時間函數(shù)獲取當前的時間來計算,每周的日期,或者月份的日期,但是獲取當前時間的代碼datetime.datetime.now()感覺有點長,每次還需要計算或者后面在獲取時分秒的就更長,于是就把這個方法定義成了常量,想要在每次需要使用這個方法獲取當前時間的時候可以直接調(diào)用縮短代碼長度,于是直接在定義了一個全局變量t=datetime.datetime.now()定義之后也可以在方法內(nèi)直接使用,感覺特別方便

可以在實際使用了一段時間后,發(fā)現(xiàn)查詢出來的數(shù)據(jù)好像有問題,時間上總是對不太上,還沒發(fā)現(xiàn)是哪里的問題,于是去檢查接口寫的是否有問題,但是代碼一重新運行之后就發(fā)現(xiàn),沒有問題了,數(shù)據(jù)對了。但是過了半天后,數(shù)據(jù)又不對了。反反復復幾次之后發(fā)現(xiàn)這里好像有大bug

Python中定義的全局變量每次獲取的時候會重新計算賦值嗎?

經(jīng)過測試發(fā)現(xiàn),這個全局變量的值雖然可以直接調(diào)用,但是值一直沒變,于是就很尷尬,所以在Python中,全局變量的值不會每次都重新計算獲取當前的時間,除非在某個方法或者代碼里面重新運行一次,否則他的值會一直保持不變。所以如果你想要每次都獲取當前的實際時間的話不能夠這樣直接定義變量來獲取,需要定義一個方法來返回當前時間才可以

Python中定義的全局變量每次獲取的時候會重新計算賦值嗎?

關(guān)鍵詞:
返回列表