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

Python關(guān)鍵字之global與nonlocal

 更新時(shí)間:2022年03月07日 17:11:52   作者:笨鳥先fly  
這篇文章主要為大家詳細(xì)介紹了Python關(guān)鍵字之global與nonlocal,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助

Python關(guān)鍵字 global與nonlocal

global

def test():
  #1函數(shù)內(nèi)如果沒定義x,則x默認(rèn)為全局變量
  print(x) # 輸出 global v
  #2函數(shù)內(nèi)如果定義x,則x為局部變量
  x = 'local v' # 局部變量
  print(x) # 輸出 local v
x = "global v" # 全局變量

如何在函數(shù)內(nèi)修改全局變量呢?[利用關(guān)鍵字global]

def test():
  #在函數(shù)內(nèi)先聲明全局變量,
  global x # 即x = "global v",注意global修飾變量時(shí)不能直接賦值,如 global x =‘a(chǎn)bc' 報(bào)錯(cuò)!
  # 修改全局變量
  x = 'modified global v' 
x = "global v" # 全局變量
print(x) # global v
test()
print(x) # modified global v

nonloacl

nonlocal只能在嵌套函數(shù)中使用,用于標(biāo)識嵌套函數(shù)中的變量是包含該嵌套函數(shù)的函數(shù)中的同名變量,在嵌套函數(shù)中修改變量會影響函數(shù)中的變量。

def func(): # 函數(shù)
  x = 'loval v'
  def ifunc(): # 嵌套函數(shù)
    nonlocal x #  x = 'loval v'

如果在函數(shù)中使用global修飾了變量,那么在嵌套函數(shù)中用nonlocal修飾同名變量會發(fā)生報(bào)錯(cuò),因?yàn)閚onlocal表示該變量在函數(shù)中已經(jīng)定義,但檢查時(shí)因?yàn)橥兞勘籫lobal修飾為全局變量,所以不存在同名的局部變量,從而導(dǎo)致錯(cuò)誤

x = 'global v' # 全局變量
def func(): # 函數(shù)
  global x 
  def ifunc(): # 嵌套函數(shù)
    nonlocal x # 報(bào)錯(cuò)??!

總結(jié)

本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!   

相關(guān)文章

最新評論