自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

淺析Python中的Python全局變量

開發(fā) 后端
把Python全局變量定義在一個(gè)單獨(dú)的模塊中:第二種方法,適用于不同文件之間的變量共享,而且一定程度上避免了開頭所說的全局變量的弊端。

Python是一種面向?qū)ο蟮拈_發(fā)語(yǔ)言,在函數(shù)中使用全局變量,一般應(yīng)作全局變量說明,只有在函數(shù)內(nèi)經(jīng)過說明的全局變量才能使用,下面介紹下Python全局變量有關(guān)問題。

應(yīng)該盡量避免使用Python全局變量。不同的模塊都可以自由的訪問全局變量,可能會(huì)導(dǎo)致全局變量的不可預(yù)知性。對(duì)全局變量,如果程序員甲修改了_a的值,這時(shí)可能導(dǎo)致程序中的錯(cuò)誤。這種錯(cuò)誤是很難發(fā)現(xiàn)和更正的。 

全局變量降低了函數(shù)或模塊之間的通用性,不同的函數(shù)或模塊都要依賴于全局變量。同樣,全局變量降低了代碼的可讀性,閱讀者可能并不知道調(diào)用的某個(gè)變量是全局變量。 但是某些時(shí)候,Python全局變量能夠解決局部變量所難以解決的問題。事物要一分為二。 python里面全局變量有兩種靈活的用法:

  1. #gl.py  
  2. gl_1 = 'hello' 
  3. gl_2 = 'world' 
  4.  
  5. 在其它模塊中使用  
  6. #a.py  
  7. import gl  
  8.  
  9. def hello_world()  
  10.     print gl.gl_1, gl.gl_2  
  11.  
  12. #b.py  
  13. import gl  
  14.  
  15. def fun1()  
  16.     gl.gl_1 = 'Hello' 
  17.     gl.gl_2 = 'World' 
  18. def modifyConstant() :   
  19.         global CONSTANT   
  20.         print CONSTANT   
  21.         CONSTANT += 1   
  22.         return   
  23.  
  24. if __name__ == '__main__' :   
  25.         modifyConstant()   
  26.         print CONSTANT   

1 聲明法

在文件開頭聲明Python全局變量variable, 在具體函數(shù)中使用該變量時(shí),需要事先聲明 global variable,否則系統(tǒng)將該變量視為局部變量。 CONSTANT = 0  (將全局變量大寫便于識(shí)別)

2模塊法(推薦)

,推薦!

  1. #gl.py  
  2. gl_1 = 'hello' 
  3. gl_2 = 'world' 
  4.  
  5. 在其它模塊中使用  
  6. #a.py  
  7. import gl  
  8.  
  9. def hello_world()  
  10.     print gl.gl_1, gl.gl_2  
  11.  
  12. #b.py  
  13. import gl  
  14.  
  15. def fun1()  
  16.     gl.gl_1 = 'Hello' 
  17.     gl.gl_2 = 'World' 
  18. def modifyConstant() :   
  19.         global CONSTANT   
  20.         print CONSTANT   
  21.         CONSTANT += 1   
  22.         return   
  23.  
  24. if __name__ == '__main__' :   
  25.         modifyConstant()   
  26.         print CONSTANT   

【編輯推薦】

  1. 如何使Python嵌入C++應(yīng)用程序?
  2. 深入探討Ruby與Python語(yǔ)法比較
  3. Python學(xué)習(xí)資料介紹分享
  4. Python學(xué)習(xí)經(jīng)驗(yàn)談:版本、IDE選擇及編碼解 決方案
  5. 淺析Python的GIL和線程安全
責(zé)任編輯:chenqingxiang 來源: 博客園
相關(guān)推薦

2024-05-29 08:49:22

Python全局變量局部變量

2010-03-09 14:12:55

Python全局變量

2013-07-17 16:16:06

Android全局變量定義全局變量Application

2009-11-06 13:28:19

Javascript框

2015-01-07 14:41:32

Android全局變量局部變量

2017-02-08 12:28:37

Android變量總結(jié)

2010-09-08 17:25:17

SQL全局變量

2023-09-24 23:40:54

Python變量

2010-11-12 10:08:55

SQL Server全

2013-07-25 15:15:26

iOS開發(fā)學(xué)習(xí)iOS全局變量

2009-09-24 09:28:00

Scala講座全局變量scala

2011-08-23 13:54:10

LUA全局變量

2013-07-22 14:07:47

2009-12-09 17:07:08

PHP unset全局

2020-07-20 12:43:31

Go變量命名

2014-06-23 10:25:12

2009-12-04 13:14:19

PHP Global變

2009-12-04 13:31:21

PHP全局變量不能生效

2021-02-26 13:42:01

函數(shù)全局變量

2024-05-27 09:18:18

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)