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编程中@property装饰器的用法
Jun 20 Python
TensorFlow神经网络优化策略学习
Mar 09 Python
Python基础教程之内置函数locals()和globals()用法分析
Mar 16 Python
linux安装Python3.4.2的操作方法
Sep 28 Python
Python 从一个文件中调用另一个文件的类方法
Jan 10 Python
PyTorch的Optimizer训练工具的实现
Aug 18 Python
python 实现检验33品种数据是否是正态分布
Dec 09 Python
Pytorch实现各种2d卷积示例
Dec 30 Python
Python自动创建Excel并获取内容
Sep 16 Python
详解python 支持向量机(SVM)算法
Sep 18 Python
Python入门之基础语法详解
May 11 Python
python运行脚本文件的三种方法实例
Jun 25 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连接access数据库
2015/03/27 PHP
php使用substr()和strpos()联合查找字符串中某一特定字符的方法
2015/05/12 PHP
默认让页面的第一个控件选中的javascript代码
2009/12/26 Javascript
jquery tab标签页的制作
2010/05/10 Javascript
js中eval()函数和trim()去掉字符串左右空格应用
2013/02/02 Javascript
js 火狐下取本地路径实现思路
2013/04/02 Javascript
jQuery下的动画处理总结
2013/10/10 Javascript
js全屏显示显示代码的三种方法
2013/11/11 Javascript
jQuery拖拽 & 弹出层 介绍与示例
2013/12/27 Javascript
jquery获取元素索引值index()示例
2014/02/13 Javascript
js给网页加上背景音乐及选择音效的方法
2015/03/03 Javascript
JS实现先显示大图后自动收起显示小图的广告代码
2015/09/04 Javascript
利用jQuery实现WordPress中@的ID悬浮显示评论内容
2015/12/11 Javascript
深入解析Javascript闭包的功能及实现方法
2016/07/10 Javascript
将input框中输入内容显示在相应的div中【三种方法可选】
2017/05/08 Javascript
Vue SPA单页应用首屏优化实践
2018/06/28 Javascript
vue中锚点的三种方法
2018/07/06 Javascript
vue中动态设置meta标签和title标签的方法
2018/07/11 Javascript
基于Vue 2.0 监听文本框内容变化及ref的使用说明介绍
2018/08/24 Javascript
ES6中let 和 const 的新特性
2018/09/03 Javascript
解决Vue调用springboot接口403跨域问题
2019/09/02 Javascript
[52:37]完美世界DOTA2联赛循环赛 Forest vs DM BO2第一场 10.29
2020/10/29 DOTA
python正则表达式re模块详细介绍
2014/05/29 Python
Python实现高斯函数的三维显示方法
2018/12/29 Python
python selenium循环登陆网站的实现
2019/11/04 Python
浅析python,PyCharm,Anaconda三者之间的关系
2019/11/27 Python
Python调用高德API实现批量地址转经纬度并写入表格的功能
2021/01/12 Python
伦敦一家非常流行的时尚精品店:Oxygen Boutique
2017/01/15 全球购物
自动化职业生涯规划书范文
2014/01/03 职场文书
生物科学专业毕业生求职信
2014/06/02 职场文书
2014年法务工作总结
2014/12/11 职场文书
公安纪律作风整顿心得体会
2016/01/23 职场文书
mysql的数据压缩性能对比详情
2021/11/07 MySQL
Python基本知识点总结
2022/04/07 Python
python中urllib包的网络请求教程
2022/04/19 Python