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中random模块用法实例分析
May 19 Python
Python-嵌套列表list的全面解析
Jun 08 Python
Python中使用装饰器来优化尾递归的示例
Jun 18 Python
Python的时间模块datetime详解
Apr 17 Python
Python实现拷贝/删除文件夹的方法详解
Aug 29 Python
python pygame模块编写飞机大战
Nov 20 Python
通过字符串导入 Python 模块的方法详解
Oct 27 Python
Python+PyQt5+MySQL实现天气管理系统
Jun 16 Python
通过实例解析python创建进程常用方法
Jun 19 Python
Python2.x与3​​.x版本有哪些区别
Jul 09 Python
利用Python实现斐波那契数列的方法实例
Jul 26 Python
Python在线和离线安装第三方库的方法
Oct 31 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
在WIN98下以apache模块方式安装php
2006/10/09 PHP
简单实用的PHP防注入类实例
2014/12/05 PHP
PHP代码判断设备是手机还是平板电脑(两种方法)
2015/10/19 PHP
ExtJS自定义主题(theme)样式详解
2013/11/18 Javascript
基于Bootstrap实现Material Design风格表单插件 附源码下载
2016/04/18 Javascript
JS Array创建及concat()split()slice()的使用方法
2016/06/03 Javascript
jQuery实现ajax的叠加和停止(终止ajax请求)
2016/08/08 Javascript
jQuery实现字符串全部替换的方法
2016/12/12 Javascript
重新理解JavaScript的六种继承方式
2017/03/24 Javascript
windows下vue-cli及webpack搭建安装环境
2017/04/25 Javascript
JS 使用 window对象的print方法实现分页打印功能
2018/05/16 Javascript
vue动态路由配置及路由传参的方式
2018/05/23 Javascript
Node.js之readline模块的使用详解
2019/03/25 Javascript
中高级前端必须了解的JS中的内存管理(推荐)
2019/07/04 Javascript
vue 限制input只能输入正数的操作
2020/08/05 Javascript
解决vue项目本地启动时无法携带cookie的问题
2021/02/06 Vue.js
[01:05]DOTA2完美大师赛趣味视频之选手教你打职业
2017/11/23 DOTA
[09:40]DAC2018 4.5 SOLO赛 MidOne vs Miracle
2018/04/06 DOTA
使用python实现个性化词云的方法
2017/06/16 Python
django模型层(model)进行建表、查询与删除的基础教程
2017/11/21 Python
对python打乱数据集中X,y标签对的方法详解
2018/12/14 Python
对python中的six.moves模块的下载函数urlretrieve详解
2018/12/19 Python
Pandas读写CSV文件的方法示例
2019/03/27 Python
Django框架模板文件使用及模板文件加载顺序分析
2019/05/23 Python
详解PyCharm+QTDesigner+PyUIC使用教程
2019/06/13 Python
Python爬虫之Selenium库的使用方法
2021/01/03 Python
如何查看python关键字
2021/01/17 Python
CSS3 实现弹幕的示例代码
2017/08/07 HTML / CSS
Notino意大利:购买香水和化妆品
2018/11/14 全球购物
加拿大时装零售商:Influence U
2018/12/22 全球购物
省优秀教师事迹材料
2014/01/30 职场文书
九年级政治教学反思
2014/02/06 职场文书
《罗布泊,消逝的仙湖》教学反思
2014/03/01 职场文书
教师国庆节演讲稿范文2014
2014/09/21 职场文书
物业前台接待岗位职责
2015/04/03 职场文书
Python实现列表拼接和去重的三种方式
2021/07/02 Python