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脚本对Linux服务器进行监控的教程
Apr 02 Python
基于Python实现通过微信搜索功能查看谁把你删除了
Jan 27 Python
Python编程实战之Oracle数据库操作示例
Jun 21 Python
浅析PHP与Python进行数据交互
May 15 Python
python绘制多个子图的实例
Jul 07 Python
pytorch 实现模型不同层设置不同的学习率方式
Jan 06 Python
Python标准库json模块和pickle模块使用详解
Mar 10 Python
python实现凯撒密码、凯撒加解密算法
Jun 11 Python
利用Python如何制作贪吃蛇及AI版贪吃蛇详解
Aug 24 Python
python实现磁盘日志清理的示例
Nov 05 Python
Selenium关闭INFO:CONSOLE提示的解决
Dec 07 Python
python 基于pygame实现俄罗斯方块
Mar 02 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
《星际争霸》各版本雷兽特点图文解析 雷兽不同形态一览
2020/03/02 星际争霸
世界上第一台立体声收音机
2021/03/01 无线电
详解WordPress中提醒安装插件以及隐藏插件的功能实现
2015/12/25 PHP
PHP判断一个数组是另一个数组子集的方法详解
2017/07/31 PHP
php常用字符串查找函数strstr()与strpos()实例分析
2019/06/21 PHP
Cookie 小记
2010/04/01 Javascript
jquery的Theme和Theme Switcher使用小结
2010/09/08 Javascript
js实现在文本框光标处添加字符的方法介绍
2012/11/24 Javascript
jQuery+JSON+jPlayer实现QQ空间音乐查询功能示例
2013/06/17 Javascript
js 浏览本地文件夹系统示例代码
2013/10/24 Javascript
JQuery通过AJAX从后台获取信息显示在表格上并支持行选中
2015/09/15 Javascript
深入浅析JavaScript中的scrollTop
2016/07/11 Javascript
jQuery版AJAX简易封装代码
2016/09/14 Javascript
JavaScript面试题(指针、帽子和女朋友)
2016/11/23 Javascript
原生js实现图片放大缩小计时器效果
2017/01/20 Javascript
详解Node.js access_token的获取、存储及更新
2017/06/20 Javascript
利用jsonp与代理服务器方案解决跨域问题
2017/09/14 Javascript
layui表格数据重载
2019/07/27 Javascript
如何通过shell脚本自动生成vue文件详解
2019/09/10 Javascript
JavaScript实现tab栏切换效果
2020/03/16 Javascript
javascript实现前端成语点击验证优化
2020/06/24 Javascript
Python抓取电影天堂电影信息的代码
2016/04/07 Python
解决出现Incorrect integer value: '' for column 'id' at row 1的问题
2017/10/29 Python
PyQt5每天必学之事件与信号
2018/04/20 Python
python操作xlsx文件的包openpyxl实例
2018/05/03 Python
python使用epoll实现服务端的方法
2018/10/16 Python
Django用户认证系统 Web请求中的认证解析
2019/08/02 Python
Python调用百度OCR实现图片文字识别的示例代码
2020/07/17 Python
CSS3图片旋转特效(360/60/-360度)
2013/10/10 HTML / CSS
鼠标滚轮事件和Mac触控板双指事件
2019/12/23 HTML / CSS
Lookfantastic希腊官网:英国知名美妆购物网站
2018/09/15 全球购物
Java的五个基础面试题
2016/02/26 面试题
简述索引存取方法的作用和建立索引的原则
2013/03/26 面试题
小学生防溺水广播稿
2014/01/12 职场文书
西柏坡导游词
2015/02/05 职场文书
拾金不昧表扬稿大全
2015/05/05 职场文书