最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python中g(shù)lobal與nonlocal比較

 更新時間:2014年11月21日 11:12:02   投稿:junjie  
這篇文章主要介紹了python中g(shù)lobal與nonlocal比較,global關(guān)鍵字用來在函數(shù)或其他局部作用域中使用全局變量,nonlocal關(guān)鍵字用來在函數(shù)或其他作用域中使用外層(非全局)變量,需要的朋友可以參考下

python引用變量的順序: 當(dāng)前作用域局部變量->外層作用域變量->當(dāng)前模塊中的全局變量->python內(nèi)置變量

一、global

global關(guān)鍵字用來在函數(shù)或其他局部作用域中使用全局變量。但是如果不修改全局變量也可以不使用global關(guān)鍵字。

復(fù)制代碼 代碼如下:

gcount = 0

def global_test():
    print (gcount)
   
def global_counter():
    global gcount
    gcount +=1
    return gcount
   
def global_counter_test():
    print(global_counter())
    print(global_counter())
    print(global_counter())

二、nonlocal

nonlocal關(guān)鍵字用來在函數(shù)或其他作用域中使用外層(非全局)變量。

復(fù)制代碼 代碼如下:

def make_counter():
    count = 0
    def counter():
        nonlocal count
        count += 1
        return count
    return counter
   
def make_counter_test():
  mc = make_counter()
  print(mc())
  print(mc())
  print(mc())

也可以使用generator來實現(xiàn)類似的counter。如下:

復(fù)制代碼 代碼如下:

def counter_generator():
    count = 0
    while True:
        count += 1
        yield count
   
def counter_generator_test():
  # below is for python 3.x and works well
  citer = counter_generator().__iter__()
  i = 0
  while(i < 3) :
    print(citer.__next__())
    i+=1
 
def counter_generator_test2(): 
  #below code don't work
  #because next() function still suspends and cannot exit
  #it seems the iterator is generated every time.
  j = 0
  for iter in counter_generator():
    while(j < 3) :
      print(iter)
      j+=1

相關(guān)文章

  • django ManyToManyField多對多關(guān)系的實例詳解

    django ManyToManyField多對多關(guān)系的實例詳解

    今天小編就為大家分享一篇django ManyToManyField多對多關(guān)系的實例詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-08-08
  • Python Numpy庫安裝與基本操作示例

    Python Numpy庫安裝與基本操作示例

    這篇文章主要介紹了Python Numpy庫安裝與基本操作,簡單介紹了Numpy庫的基本功能、并結(jié)合實例形式分析了基于Numpy庫的數(shù)組與矩陣相關(guān)操作技巧,需要的朋友可以參考下
    2019-01-01
  • Python中的hypot()方法使用簡介

    Python中的hypot()方法使用簡介

    這篇文章主要介紹了Python中的hypot()方法使用簡介,是Python入門所需掌握的基礎(chǔ)知識,需要的朋友可以參考下
    2015-05-05
  • 基于OpenMV的圖像識別之?dāng)?shù)字識別功能

    基于OpenMV的圖像識別之?dāng)?shù)字識別功能

    OpenMV是一個開源,低成本,功能強大的機器視覺模塊。以STM32F427CPU為核心,集成了OV7725攝像頭芯片,在小巧的硬件模塊上,用C語言高效地實現(xiàn)了核心機器視覺算法,提供Python編程接口,對OpenMV的圖像識別之?dāng)?shù)字識別相關(guān)知識感興趣的朋友一起看看吧
    2021-11-11
  • 對pandas通過索引提取dataframe的行方法詳解

    對pandas通過索引提取dataframe的行方法詳解

    今天小編就為大家分享一篇對pandas通過索引提取dataframe的行方法詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-02-02
  • Python如何管理多個PostgreSQL數(shù)據(jù)庫的連接

    Python如何管理多個PostgreSQL數(shù)據(jù)庫的連接

    這篇文章主要為大家詳細介紹了Python如何通過讀取配置文件中的PostgreSQL服務(wù)信息,連接到相應(yīng)的PostgreSQL數(shù)據(jù)庫,感興趣的小伙伴可以了解下
    2024-11-11
  • django?python?獲取當(dāng)天日期的方法

    django?python?獲取當(dāng)天日期的方法

    這篇文章主要介紹了django?python?獲取當(dāng)天日期,在Python中,你可以使用datetime模塊來獲取當(dāng)前日期,本文結(jié)合實例代碼給大家介紹的非常詳細,需要的朋友可以參考下
    2023-05-05
  • Python中__init__方法使用的深度解析

    Python中__init__方法使用的深度解析

    在Python的面向?qū)ο缶幊蹋∣OP)體系中,__init__方法如同建造房屋時的"奠基儀式"——它定義了對象誕生時的初始狀態(tài),下面我們就來深入了解下__init__方法吧
    2025-04-04
  • Python 解析XML文件

    Python 解析XML文件

    google一篇關(guān)于Python解析XML文件的博文不過XML文件出錯,整理如下。
    2009-04-04
  • Python 對象序列化與反序列化之pickle json詳細解析

    Python 對象序列化與反序列化之pickle json詳細解析

    我們知道在Python中,一切皆為對象,實例是對象,類是對象,元類也是對象。本文正是要聊聊如何將這些對象有效地保存起來,以供后續(xù)使用
    2021-09-09

最新評論

伊宁县| 娱乐| 敖汉旗| 施甸县| 高陵县| 天峨县| 蕉岭县| 上犹县| 北川| 石屏县| 会同县| 广德县| 宿州市| 库尔勒市| 台中市| 建始县| 黄浦区| 体育| 上思县| 天台县| 日土县| 高安市| 灵寿县| 仙桃市| 革吉县| 壶关县| 封丘县| 陕西省| 奈曼旗| 长汀县| 江安县| 斗六市| 青冈县| 泾阳县| 镇坪县| 大名县| 松阳县| 武汉市| 福贡县| 洛川县| 伊吾县|