最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
当前位置: 首页 - 科技 - 知识百科 - 正文

python中global与nonlocal比较

来源:懂视网 责编:小采 时间:2020-11-27 14:31:26
文档

python中global与nonlocal比较

python中global与nonlocal比较:python引用变量的顺序: 当前作用域局部变量->外层作用域变量->当前模块中的全局变量->python内置变量 一、global global关键字用来在函数或其他局部作用域中使用全局变量。但是如果不修改全局变量也可以不使用global关键字。 代码如下: gcount
推荐度:
导读python中global与nonlocal比较:python引用变量的顺序: 当前作用域局部变量->外层作用域变量->当前模块中的全局变量->python内置变量 一、global global关键字用来在函数或其他局部作用域中使用全局变量。但是如果不修改全局变量也可以不使用global关键字。 代码如下: gcount

python引用变量的顺序: 当前作用域局部变量->外层作用域变量->当前模块中的全局变量->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

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文档

python中global与nonlocal比较

python中global与nonlocal比较:python引用变量的顺序: 当前作用域局部变量->外层作用域变量->当前模块中的全局变量->python内置变量 一、global global关键字用来在函数或其他局部作用域中使用全局变量。但是如果不修改全局变量也可以不使用global关键字。 代码如下: gcount
推荐度:
标签: python pyt global
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top