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 相关文章推荐
Python的垃圾回收机制深入分析
Jul 16 Python
Python中处理字符串之islower()方法的使用简介
May 19 Python
python3写的简单本地文件上传服务器实例
Jun 04 Python
Django安装配置mysql的方法步骤
Oct 15 Python
浅谈python脚本设置运行参数的方法
Dec 03 Python
python石头剪刀布小游戏(三局两胜制)
Jan 20 Python
python-Web-flask-视图内容和模板知识点西宁街
Aug 23 Python
Django框架之中间件MiddleWare的实现
Dec 30 Python
python读取图片的几种方式及图像宽和高的存储顺序
Feb 11 Python
部署Django到阿里云服务器教程示例
Jun 03 Python
OpenCV灰度化之后图片为绿色的解决
Dec 01 Python
解决python 在for循环并且pop数组的时候会跳过某些元素的问题
Dec 11 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绘制一个矩形的方法
2015/01/24 PHP
锋利的jQuery jQuery中的DOM操作
2010/03/21 Javascript
JavaScript高级程序设计 阅读笔记(十二) js内置对象Math
2012/08/14 Javascript
jquery实现div拖拽宽度示例代码
2013/07/31 Javascript
使用jquery hover事件实现表格的隔行换色功能示例
2013/09/03 Javascript
javascript删除元素节点removeChild()用法实例
2015/05/26 Javascript
jQuery遮罩层效果实例分析
2016/01/14 Javascript
10个JavaScript中易犯小错误
2016/02/14 Javascript
JavaScript原型对象、构造函数和实例对象功能与用法详解
2018/08/04 Javascript
详解js创建对象的几种方式和对象方法
2021/03/01 Javascript
[54:10]完美世界DOTA2联赛PWL S2 Magma vs FTD 第二场 11.29
2020/12/03 DOTA
Python标准库之Sys模块使用详解
2015/05/23 Python
2018年Python值得关注的开源库、工具和开发者(总结篇)
2018/01/04 Python
使用apidoc管理RESTful风格Flask项目接口文档方法
2018/02/07 Python
Python多进程与服务器并发原理及用法实例分析
2018/08/21 Python
django框架事务处理小结【ORM 事务及raw sql,customize sql 事务处理】
2019/06/27 Python
numpy:找到指定元素的索引示例
2019/11/26 Python
python入门之井字棋小游戏
2020/03/05 Python
Python数据可视化图实现过程详解
2020/06/12 Python
Willer台湾:日本高速巴士/夜行巴士预约
2017/07/09 全球购物
Java基础面试题
2014/07/19 面试题
公司领导推荐信
2013/11/12 职场文书
学习党课思想汇报
2013/12/29 职场文书
总经理助理工作职责
2014/02/06 职场文书
开学典礼主持词
2014/03/19 职场文书
小学家长评语大全
2014/04/16 职场文书
竞选生活委员演讲稿
2014/04/28 职场文书
幼儿园教研活动总结
2014/04/30 职场文书
宿舍标语大全
2014/06/19 职场文书
电子专业自荐信
2014/07/01 职场文书
2014年机关党建工作总结
2014/11/11 职场文书
优秀党员申报材料
2014/12/18 职场文书
大学生旷课检讨书1000字
2015/02/19 职场文书
党员身份证明材料
2015/06/19 职场文书
你有一份《诚信考试承诺书》待领取
2019/11/13 职场文书
如何通过cmd 连接阿里云服务器
2022/04/18 Servers