python中的 gloabal和nonlocal的区别
gloabal 将变量提升为全局变量
在函数内部修改全局的变量,如果全局中不存在就创建一个变量
a = 100
def func():# global a a = 28print(a)
func()
print(a)
不加gloabal时:
加gloabal时:
a = 100
def func():global a # 加了个global表示不再局部创建这个变量了. 而是直接使用全局的aa = 28print(a)
func()
print(a)
就将28提升为全局变量了。
nonlocal将变量提升到上一层
nonlocal 只修改上一层变量,如果上一层中没有变量就往上找一层,只会找到函数的最外层,不会找到全局进行修改
a = 10
def func1():a = 20def func2():# nonlocal a # 先注释掉a = 30print(a)func2()print(a)
func1()
结果为30 20,因为在 func1 中是30,在func2 中是20。
= 10
def func1():a = 20def func2():nonlocal aa = 30print(a)func2()print(a)
func1()
可以看出吧 func2 的变量提升到了 func1 这一层,但是没有到达全局变量。
python中的 gloabal和nonlocal的区别相关推荐
- Python中关键字global与nonlocal的区别
终于下定决心学习Python了.既然从头开始,就需要认认真真. 首先需要说的是,我是初学Python,这篇文章只是用于展示global和nonlocal关键字的区别,是很简单的知识点,如果你已经学过, ...
- Python中爬虫框架或模块的区别
Python中爬虫框架或模块的区别,我们在Python的学习过程中,需要不断的总结知识点,这样我们才能进步的更快一些. (1)爬虫框架或模块 Python自带爬虫模块:urllib.urllib2; ...
- Python中值传递和引用传递区别
原文:http://blog.csdn.net/xuqiaobo/article/details/72236539 举例,函数参数如果是dic,都不需要返回值,原值就被改变了 def aa(dic): ...
- Python中str()与repr()函数的区别——repr() 的输出追求明确性,除了对象内容,还需要展示出对象的数据类型信息,适合开发和调试阶段使用...
Python中str()与repr()函数的区别 from:https://www.jianshu.com/p/2a41315ca47e 在 Python 中要将某一类型的变量或者常量转换为字符串对象 ...
- python中列表 元组 字典 集合的区别
参考文章:python中列表 元组 字典 集合的区别
- Python中爬虫框架或模块的区别!
Python中爬虫框架或模块的区别,我们在Python的学习过程中,需要不断的总结知识点,这样我们才能进步的更快一些. (1)爬虫框架或模块 Python自带爬虫模块:urllib.urllib2; ...
- 【Python】Python中str()和repr()函数的区别
作用 在 Python 中要将某一类型的变量或者常量转换为字符串对象通常有两种方法,即 str() 或者 repr() . 区别与使用 参考文章:Python 中 str() 和 repr() 函数的 ...
- python中的return和print的区别_python中return和print的区别(详细)
Huskiesir python最近正在研究.今天,我面临一个问题,那就是,返回和印刷的区别.双方都能输出结果.的区别是什么?闲话少说,看下面的例子.# Code1: def break_words( ...
- python中dtype什么意思_浅谈python 中的 type(), dtype(), astype()的区别
如下所示: 函数 说明 type() 返回数据结构类型(list.dict.numpy.ndarray 等) dtype() 返回数据元素的数据类型(int.float等) 备注:1)由于 list. ...
最新文章
- I need to follow my heart.
- C#位运算实际作用之操作整型某一位
- 如何探测浏览器是否开启js功能
- python题库刷题训练软件_刷题 -- python计算器练习题
- P2014-选课【树形dp,背包】
- 正交试验设计例题及答案_正交表测试用例设计方法的特点是什么?
- 计算电磁学及其在复杂电磁环境数值模拟中的应用和发展趋势
- 这款IDEA插件刷爆了技术群,群友:这用起来真酸爽~
- 纸鸢|物联网云平台小工具集合常见 MQTT 客户端比较
- 短视频源码开发,短视频系统源码搭建,从短视频系统起播过程入手
- 一篇关于蜿蜒型河流的介绍
- Android学习之——APP番茄工作法——小结(2)
- 动手实践,使用div盒子模型设计一个播放器效果/动手实践
- Zabbix 如何实现邮件报警通知以及免费短信报警通知
- 基于Java后台(Springboot框架)+前端小程序(MINA框架)+Mysql数据库的教室图书馆座位预约小程序系统设计与实现
- 7大子论坛回顾 | PGConf.Asia亚洲技术大会DAY2精彩继续
- pandas笔记1 --pandas处理mat表格文件
- 基于Python爬虫的股票成交量数据抓取分析系统
- 【多校训练】2021HDU多校4
- ios 绘制线框_16款值得一用的iPhone线框图模板 (PSD Sketch)
热门文章
- c语言难还是java难_C语言真的比Java难学吗?
- 机器学习-第三方库(工具包):scikit-learn【用于特征工程(主要分为三部分:数据预处理、特征选择、降维)】【Sklearn模块中包含常用的算法】
- python爬取bilibili视频
- HTML和CSS做渐变背景和3D卡片
- 动态倒计时(仿vantUI倒计时)
- CAD新手制图,如何移动图形呢?
- 本题要求编写程序,打印一个高度为n的、由“*”组成的正菱形图案。
- 牛客网-运维工程师能力评估(部分选题)
- 数据库建立索引以及索引失效问题
- HTML中常用的特殊字符