python中global counter

阅读: 评论:0

python中global counter

python中global counter

python中global与nonlocal比较

引用变量的顺序: 当前作用域局部变量->外层作用域变量->当前模块中的全局变量->python内置变量

一、global

global关键字用来在函数或其他局部作用域中使用全局变量。但是如果不修改全局变量也可以不使用global关键字。

代码如下:

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关键字用来在函数或其他作用域中使用外层(非全局)变量。

代码如下:

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来实现类似的counter。如下:

代码如下:

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

完 谢谢观看

本文发布于:2024-01-29 10:22:23,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170649494314610.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:python   global   counter
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23