欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python全局變量引用與修改過(guò)程解析

 更新時(shí)間:2020年01月07日 11:36:41   作者:yanfengt  
這篇文章主要介紹了python全局變量引用與修改過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

這篇文章主要介紹了python全局變量引用與修改過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

一、引用

使用到的全局變量只是作為引用,不在函數(shù)中修改它的值的話,不需要加global關(guān)鍵字。如:

#! /usr/bin/python

a = 1
b = [2, 3]

def func():
  if a == 1:
    print("a: %d" %a)
  for i in range(4):
    if i in b:
      print("%d in list b" %i)
    else:
      print("%d not in list b" %i)
if __name__ == '__main__':
  func()

輸出結(jié)果:

可以看出,無(wú)論是列表還是變量,都是可以直接引用的。

二、修改

使用到的全局變量,需要在函數(shù)中修改的話,就涉及到歧義問(wèn)題,如:

#! /usr/bin/python
a = 1
b = [2, 3]

def func():
  a = 2
  print "in func a:", a
  b[0] = 1
  print "in func b:", b

if __name__ == '__main__':
  print "before func a:", a
  print "before func b:", b
  func()
  print "after func a:", a
  print "after func b:", b

輸出結(jié)果:

可以看出,對(duì)于變量a,在函數(shù)func中"a = 2",因?yàn)榇嬖诩瓤梢员硎疽萌肿兞縜,也可以表示創(chuàng)建一個(gè)新的局部變量的歧義,所以python默認(rèn)指定創(chuàng)建一個(gè)新的局部變量來(lái)消除這一歧義,但對(duì)于列表b而言,"b[0] = 1"不存在這種歧義,因此直接修改了全局變量,但是如果改成了"b = [3, 4]",那么b也會(huì)變成局部變量。特別地,當(dāng)在func中a = 2之前加入"if a == 1:"這一語(yǔ)句,腳本運(yùn)行出錯(cuò),因?yàn)檫@一語(yǔ)句引入了全局變量,導(dǎo)致了"a = 1"這一語(yǔ)句無(wú)法創(chuàng)建同名的局部變量。

因此,需要修改全局變量a,可以在"a = 2"之前加入global a聲明,如:

#! /usr/bin/python

a = 1
b = [2, 3]

def func():
  global a
  a = 2
  print "in func a:", a
  b[0] = 1
  print "in func b:", b

if __name__ == '__main__':
  print "before func a:", a
  print "before func b:", b
  func()
  print "after func a:", a
  print "after func b:", b

輸出結(jié)果:

結(jié)論:引用全局變量,不需要golbal聲明,修改全局變量,需要使用global聲明,特別地,列表、字典等如果只是修改其中元素的值,可以直接使用全局變量,不需要global聲明。結(jié)論:引用全局變量,不需要golbal聲明,修改全局變量,需要使用global聲明,特別地,列表、字典等如果只是修改其中元素的值,可以直接使用全局變量,不需要global聲明。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python進(jìn)程,多進(jìn)程,獲取進(jìn)程id,給子進(jìn)程傳遞參數(shù)操作示例

    Python進(jìn)程,多進(jìn)程,獲取進(jìn)程id,給子進(jìn)程傳遞參數(shù)操作示例

    這篇文章主要介紹了Python進(jìn)程,多進(jìn)程,獲取進(jìn)程id,給子進(jìn)程傳遞參數(shù)操作,結(jié)合實(shí)例形式分析了Python多進(jìn)程、父子進(jìn)程以及進(jìn)程參數(shù)傳遞相關(guān)操作技巧,需要的朋友可以參考下
    2019-10-10
  • Python的numpy選擇特定行列的方法

    Python的numpy選擇特定行列的方法

    這篇文章主要介紹了Python的numpy選擇特定行列的方法,有時(shí)需要抽取矩陣中特定行的特定列,比如,需要抽取矩陣x的0,1行的0,3列,結(jié)果為矩陣域,需要的朋友可以參考下
    2023-08-08
  • Python基于Socket實(shí)現(xiàn)的簡(jiǎn)單聊天程序示例

    Python基于Socket實(shí)現(xiàn)的簡(jiǎn)單聊天程序示例

    這篇文章主要介紹了Python基于Socket實(shí)現(xiàn)的簡(jiǎn)單聊天程序,結(jié)合簡(jiǎn)單實(shí)例形式分析了Python聊天程序的客戶端與服務(wù)器端相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2017-08-08
  • python模塊smtplib實(shí)現(xiàn)純文本郵件發(fā)送功能

    python模塊smtplib實(shí)現(xiàn)純文本郵件發(fā)送功能

    這篇文章主要為大家詳細(xì)介紹了python模塊smtplib實(shí)現(xiàn)純文本郵件發(fā)送功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-05-05
  • python抽象基類用法實(shí)例分析

    python抽象基類用法實(shí)例分析

    這篇文章主要介紹了python抽象基類用法,實(shí)例分析了Python抽象基類的使用方法與相關(guān)注意事項(xiàng),需要的朋友可以參考下
    2015-06-06
  • PyCharm軟件無(wú)法安裝lxml庫(kù)的問(wèn)題及解決

    PyCharm軟件無(wú)法安裝lxml庫(kù)的問(wèn)題及解決

    這篇文章主要介紹了PyCharm軟件無(wú)法安裝lxml庫(kù)的問(wèn)題及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • Python中垃圾回收和del語(yǔ)句詳解

    Python中垃圾回收和del語(yǔ)句詳解

    Python語(yǔ)言默認(rèn)采用的垃圾收集機(jī)制是引用計(jì)數(shù)法,本文詳細(xì)的介紹了Python中垃圾回收和del語(yǔ)句詳解,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2018-11-11
  • Django中模版的子目錄與include標(biāo)簽的使用方法

    Django中模版的子目錄與include標(biāo)簽的使用方法

    這篇文章主要介紹了Django中模版的子目錄與include標(biāo)簽的使用方法,有利于Python的Django框架的模版布局,需要的朋友可以參考下
    2015-07-07
  • python中編寫config文件并及時(shí)更新的方法

    python中編寫config文件并及時(shí)更新的方法

    在pytorch或者其他深度學(xué)習(xí)框架中,有許多超參數(shù)需要調(diào)整,包括learning_rate,training_data_path等,因此編寫一個(gè)config文件統(tǒng)一存放這些參數(shù),方便調(diào)用/查看/修改還是很有必要,這篇文章主要介紹了python中一種編寫config文件并及時(shí)更新的方法,需要的朋友可以參考下
    2023-02-02
  • pygame實(shí)現(xiàn)俄羅斯方塊游戲

    pygame實(shí)現(xiàn)俄羅斯方塊游戲

    這篇文章主要為大家詳細(xì)介紹了pygame實(shí)現(xiàn)俄羅斯方塊游戲,代碼注釋詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-06-06

最新評(píng)論