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基于pygame实现的弹力球效果(附源码)
Nov 11 Python
Python 编码处理-str与Unicode的区别
Sep 06 Python
Python调用C++程序的方法详解
Jan 24 Python
python实现分页效果
Oct 25 Python
Python模块WSGI使用详解
Feb 02 Python
批量将ppt转换为pdf的Python代码 只要27行!
Feb 26 Python
对Python实现简单的API接口实例讲解
Dec 10 Python
使用python实现时间序列白噪声检验方式
Jun 03 Python
Pytorch 高效使用GPU的操作
Jun 27 Python
浅谈Python 命令行参数argparse写入图片路径操作
Jul 12 Python
Python Django路径配置实现过程解析
Nov 05 Python
Python爬虫基础之爬虫的分类知识总结
May 13 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中判断字符串是否全是中文或含有中文的实现代码
2011/09/16 PHP
PHP内置加密函数详解
2016/11/20 PHP
javascript页面加载完执行事件代码
2014/02/11 Javascript
12行javascript代码绘制一个八卦图
2015/04/02 Javascript
初步认识JavaScript函数库jQuery
2015/06/18 Javascript
浅谈JavaScript超时调用和间歇调用
2015/08/30 Javascript
js实现二级导航功能
2017/03/03 Javascript
详解Webpack DLL用法以及功能
2017/07/11 Javascript
input 标签实现输入框带提示文字效果(两种方法)
2017/10/09 Javascript
vue项目中公用footer组件底部位置的适配问题
2018/05/10 Javascript
Vue隐藏显示、只读实例代码
2018/07/18 Javascript
详解Vue-axios 设置请求头问题
2018/12/06 Javascript
对vue中的事件穿透与禁止穿透实例详解
2019/10/28 Javascript
vue 自定义右键样式的实例代码
2019/11/06 Javascript
vue中的 $slot 获取插槽的节点实例
2019/11/12 Javascript
layui清除radio的选中状态实例
2019/11/14 Javascript
jQuery事件模型默认行为执行顺序及trigger()与 triggerHandler()比较实例分析
2020/04/30 jQuery
node.js基础知识汇总
2020/08/25 Javascript
Python使用random和tertools模块解一些经典概率问题
2015/01/28 Python
Python 私有函数的实例详解
2017/09/11 Python
浅谈python迭代器
2017/11/08 Python
Python实现一个Git日志统计分析的小工具
2017/12/14 Python
python pandas dataframe 行列选择,切片操作方法
2018/04/10 Python
python 从csv读数据到mysql的实例
2018/06/21 Python
使用Scrapy爬取动态数据
2018/10/21 Python
Autopep8的使用(python自动编排工具)
2021/03/02 Python
个性与发展自我评价
2014/02/11 职场文书
军训教官感言
2014/03/02 职场文书
事业单位绩效考核实施方案
2014/03/27 职场文书
毕业论文评语大全
2014/04/29 职场文书
升职演讲稿范文
2014/05/23 职场文书
英语分层教学实施方案
2014/06/15 职场文书
治庸问责心得体会
2014/09/12 职场文书
检察机关个人对照检查材料
2014/09/15 职场文书
公司与个人合作协议书
2016/03/19 职场文书
深入浅出讲解Java8函数式编程
2022/01/18 Java/Android