python变量的作用域是什么


Posted in Python onMay 26, 2020

变量作用域:

一般在函数体外定义的变量成为全局变量,在函数内部定义的变量称为局部变量。

全局变量所有作用域都可读,局部变量只能在本函数可读

函数在读取变量时,优先读取函数本身自有的局部变量,再去读全局变量

全局变量

读,均可读

赋值,global

字典,列表可修改

全局变量全大写

例如

name = 'Tim' #全局变量
def f1():
  age = 18 #局部变量
  print(age,name)
 def f2():
  age=19 #局部变量
f1()
f2()
>>>
18 Tim
19 Tim

在函数内部也可以定义全局变量:

name = 'Tim' #全局变量
def f1():
  age = 18 #局部变量
  global name #定义全局变量
  name = 'Eric'
  print(age,name)
f1()
print(name)

全局变量默认可读,如果需要改变全局变量的值,需要在函数内部使用global定义

特殊:列表,字典,可修改,但不能重新赋值,如果需要重新赋值,需要在函数内部使用global定义全局变量

NAME = ['Tim','mike'] #全局变量
NAME1 = ['Eric','Jeson'] #全局变量
NAME3 = ['Tom','jane'] #全局变量
def f1():
  NAME.append('Eric') #列表的append方法可改变外部全局变量的值
  print('函数内NAME: %s'%NAME)
  NAME1 = '123' #重新赋值不可改变外部全局变量的值
  print('函数内NAME1: %s'%NAME1)
  global NAME3 #如果需要重新给列表赋值,需要使用global定义全局变量
  NAME3 = '123'
  print('函数内NAME3: %s'%NAME3)
f1()
print('函数外NAME: %s'%NAME)
print('函数外NAME1: %s'%NAME1)
print('函数外NAME3: %s'%NAME3)
>>>

函数内NAME: ['Tim', 'mike', 'Eric']

函数内NAME1: 123

函数内NAME3: 123

函数外NAME: ['Tim', 'mike', 'Eric']

函数外NAME1: ['Eric', 'Jeson']

函数外NAME3: 123

到此这篇关于python变量的作用域是什么的文章就介绍到这了,更多相关python变量的作用域内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
一个检测OpenSSL心脏出血漏洞的Python脚本分享
Apr 10 Python
Python文件及目录操作实例详解
Jun 04 Python
Python 多线程实例详解
Mar 25 Python
Python实现动态图解析、合成与倒放
Jan 18 Python
Python爬虫爬取新浪微博内容示例【基于代理IP】
Aug 03 Python
解决pycharm remote deployment 配置的问题
Jun 27 Python
Python图像处理PIL各模块详细介绍(推荐)
Jul 17 Python
python GUI库图形界面开发之PyQt5下拉列表框控件QComboBox详细使用方法与实例
Feb 27 Python
python中如何使用虚拟环境
Oct 14 Python
举例讲解Python装饰器
Dec 24 Python
Pycharm 跳转回之前所在页面的操作
Feb 05 Python
Pycharm 如何一键加引号的方法步骤
Feb 05 Python
Python3 pywin32模块安装的详细步骤
May 26 #Python
什么是python的列表推导式
May 26 #Python
python中列表的含义及用法
May 26 #Python
初学者学习Python好还是Java好
May 26 #Python
python函数map()和partial()的知识点总结
May 26 #Python
Python selenium使用autoIT上传附件过程详解
May 26 #Python
Python的历史与优缺点整理
May 26 #Python
You might like
PHP 实现多服务器共享 SESSION 数据
2009/08/15 PHP
实用PHP会员权限控制实现原理分析
2011/05/29 PHP
PHP实现过滤各种HTML标签
2015/05/17 PHP
在thinkphp5.0路径中实现去除index.php的方式
2019/10/16 PHP
Laravel5.3+框架定义API路径取消CSRF保护方法详解
2020/04/06 PHP
php对mongodb的扩展(小试牛刀)
2012/11/11 Javascript
js判断IE浏览器版本过低示例代码
2013/11/22 Javascript
javascript页面加载完执行事件代码
2014/02/11 Javascript
js 获取时间间隔实现代码
2014/05/12 Javascript
JQuery实现级联下拉框效果实例讲解
2015/09/17 Javascript
实践中学习AngularJS表单
2016/03/21 Javascript
Angular指令封装jQuery日期时间插件datetimepicker实现双向绑定示例
2017/01/22 Javascript
webpack4简单入门实例
2018/09/06 Javascript
vue axios数据请求get、post方法及实例详解
2018/09/11 Javascript
Vue实现点击按钮复制文本内容的例子
2019/11/09 Javascript
python算法学习之桶排序算法实例(分块排序)
2013/12/18 Python
python简单获取本机计算机名和IP地址的方法
2015/06/03 Python
python人民币小写转大写辅助工具
2018/06/20 Python
使用Python画股票的K线图的方法步骤
2019/06/28 Python
Django Admin中增加导出Excel功能过程解析
2019/09/04 Python
使用python获取邮箱邮件的设置方法
2019/09/20 Python
Python 实现数组相减示例
2019/12/27 Python
Sunglasses Shop荷兰站:英国最大的太阳镜独立在线零售商和供应商
2017/01/08 全球购物
英国领先的酒类网上商城:TheDrinkShop
2017/03/16 全球购物
室内设计专业学生的自我评价分享
2013/11/27 职场文书
我未来的职业规划范文
2014/01/11 职场文书
材料员岗位职责
2014/03/13 职场文书
银行贷款承诺书
2014/03/29 职场文书
商场开业庆典策划方案
2014/06/02 职场文书
住房租房协议书
2014/08/20 职场文书
新员工入职欢迎词
2015/01/23 职场文书
银行自荐信怎么写
2015/03/05 职场文书
团日活动总结格式
2015/05/11 职场文书
解决Mysql的left join无效及使用的注意事项说明
2021/07/01 MySQL
【海涛dota】偶遇拉娜娅 质量局德鲁伊第一视角解说
2022/04/01 DOTA
《火纹风花雪月无双》预告“神秘雇佣兵” 紫发剑客
2022/04/13 其他游戏