Python 作用域、全局变量、局部变量
本文主要为大家简述Python作用域基础概念,从而明白什么是python 全局变量和局部变量。
什么是python作用域
作用域简单说就是一个变量的命名空间。代码中变量被赋值的位置,就决定了哪些范围的对象可以访问这个变量,这个范围就是命名空间。python赋值时生成了变量名,当然作用域也包括在内。
什么是全局变量和局部变量
在函数外,一段代码最始开所赋值的变量,它可以被多个函数引用,这就是全局变量;
在函数内定义的变量名,只能被函数内部引用,不能在函数外引用这个变量名,这个变量的作用域就是局部的,也叫它为局部变量;
如果函数内的变量名与函数外的变量名相同,也不会发生冲突。好比下面这种情况:
x = 100 def func(): x = 55
x = 100这个赋值语句所创建的变量X,作用域为全局变量;
x = 55这个赋值语句所创建的变量X,它的作用域则为局部变量,只能在函数func()内使用。
尽管这两个变量名是相同的,但它的作用域为它们做了区分。作用域在某种程度上也可以起到防止程序中变量名冲突的作用,但如果做为玩蛇网python初学者来说,尽量避免这种情况发生比较好。
总结
1、变量的作用域由代码被赋值的位置所决定
2、变量可以在3个不同地方,对应3种不同作用域:
(一)一个变量在函数内赋值,它的作用范围被定位在函数之内
(二)当变量是在一个嵌套的函数中赋值时,对于这个嵌套的函数来说,这个变量是非本地的
(三)变量在函数外赋值,它作用域就是当前整个文件的全局变量
知道了Pyhton作用域、全局变量、局部变量之后,就可以学习能修改重新定义全局变量的global python 全局变量了。
玩蛇网文章,转载请注明出处和文章网址:https://www.iplaypy.com/jinjie/jj146.html
相关文章 Recommend
- • python语言里函数作用域unBoundError错误问题请教
- • virtualenv中的包除了pip 、easy_install外,还有其它安
- • flask中sqlite查询、新增、修改如何实现
- • python有没有针对SMB、SMB2、SMBNT通用包
- • 请问Flask-Security自带模板登陆、注册怎么实现中文
- • 求教python数组、序列与迭代综合应用问题
- • Pyhton能为视频地址解析做优化吗
- • pyhton2.7 sublime text2配置 OS X环境
- • Python编码关于gb2312、utf、ansi、gbk、Unicode等汇总问
- • Python如何实现lxml读取、更新、写入标签值操作
- • 迅雷批量下载用Python、django怎么写
- • Flask 中 before_request、after_request 和 teardown_request干
PYTHON基础入门必备教程 Must Know PYTHON Tutorials
- • python 解释器
- • python idle
- • python dir函数
- • python 数据类型
- • python type函数
- • python 字符串
- • python 整型数字
- • python 列表
- • python 元组
- • python 字典
- • python 集合
- • python 变量
- • python print
- • python 函数
- • python 类定义
- • python import
- • python help
- • python open
- • python 异常处理
- • python 注释
- • python continue
- • python pass
- • python return
- • python global
- • python assert
- • python if语句
- • python break
- • python for循环
- • python while循环
- • python else/elif
- • lambda匿名函数
PYTHON进阶提高必备教程 Must Know PYTHON Modules
- • os 模块
- • sys 模块
- • re 正则表达式
- • time 日期时间
- • pickle 持久化
- • random 随机
- • csv 模块
- • logging 日志
- • socket网络通信
- • json模块
- • urlparse 解析URL
- • urllib 模块
- • urllib2 模块
- • robotparser 解析
- • Cookie 模块
- • smtplib 邮件
- • Base64 编码
- • xmlrpclib客户端
- • string 文本
- • Queue 线程安全
- • math数学计算
- • linecache缓存
- • threading多线程
- • sqlite3数据库
- • gzip压缩解压
最新内容 NEWS
- • Python列表添加 insert() 插入元素方法
- • Python列表删除 pop() 方法返回指定对象
- • Python else与elif语句语法讲解
- • Python IOError错误异常原因
- • Python列表排序 reverse、sort、sorted 操作方法
- • 使用 from import方法导入Python模块
- • Python break语句 跳出循环
- • Python return语句 函数返回值
- • Python import语句导入模块语法
- • python assert 断言详细用法格式
图文精华 RECOMMEND
-
Python列表添加 insert() 插入元素方
-
Python列表删除 pop() 方法返回指定
-
Python else与elif语句语法讲解
-
Python列表排序 reverse、sort、sorte
-
Python break语句 跳出循环
-
Python return语句 函数返回值
热点文章 HOT
- Python语言的一些基本常用语句
- Python 字典items返回列表,iteritems返回迭代
- Python函数的形参和实参详解
- Python is同一性运算符和==相等运算符区别
- Python for循环控制语句一般格式及方法
- Python 序列的概念及基本操作方法
- python assert 断言详细用法格式
- python if控制流语句 语法笔记
- Python 函数的关键字参数和位置参数
- Python条件语句的嵌套使用