简单了解python变量的作用域


Posted in Python onJuly 30, 2019

1.效果图:

简单了解python变量的作用域

2.代码

# 作用域 是 对象生效的区域(对象能被使用的区域)
# 全局作用域在任意位置可生效
# 局部作用域在函数内生效

c = 20 # 全局变量

def fn():
  d = 10 # a定义在了函数内部,所以他的作用域就是函数内部,函数外部无法访问
  print('函数内部:','c =',c)
  print('函数内部:','d =',d)

fn()  
 
print('函数外部获取:','c =',c)
print('函数外部获取:','d =',d)


# 在Python中一共有两种作用域
# 全局作用域
#  - 全局作用域在程序执行时创建,在程序执行结束时销毁
#  - 所有函数以外的区域都是全局作用域
#  - 在全局作用域中定义的变量,都属于全局变量,全局变量可以在程序的任意位置被访问
#  
# 函数作用域
#  - 函数作用域在函数调用时创建,在调用结束时销毁
#  - 函数每调用一次就会产生一个新的函数作用域
#  - 在函数作用域中定义的变量,都是局部变量,它只能在函数内部被访问
#  
# 变量的查找
#  - 当我们使用变量时,会优先在当前作用域中寻找该变量,如果有则使用,
#    如果没有则继续去上一级作用域中寻找,如果有则使用,
#    如果依然没有则继续去上一级作用域中寻找,以此类推
#    直到找到全局作用域,依然没有找到,则会抛出异常
#      NameError: name 'a' is not defined

3. 在函数内修改全局变量 使用global关键字

效果图:

简单了解python变量的作用域

代码:

a = 20

def fn3():
  # a = 10 # 在函数中为变量赋值时,默认都是为局部变量赋值
  # 如果希望在函数内部修改全局变量,则需要使用global关键字,来声明变量
  global a # 声明在函数内部的使用a是全局变量,此时再去修改a时,就是在修改全局的a
  a = 10 # 修改全局变量
  print('函数内部:','a =',a)

fn3()
print('函数外部:','a =',a)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python迭代用法实例教程
Sep 08 Python
Python中计算三角函数之cos()方法的使用简介
May 15 Python
Python断言assert的用法代码解析
Feb 03 Python
python3.X 抓取火车票信息【修正版】
Jun 19 Python
Python Flask前后端Ajax交互的方法示例
Jul 31 Python
Python实现随机创建电话号码的方法示例
Dec 07 Python
python退出命令是什么?详解python退出方法
Dec 10 Python
Python中xml和dict格式转换的示例代码
Nov 07 Python
python列表推导式操作解析
Nov 26 Python
django配置app中的静态文件步骤
Mar 27 Python
python等待10秒执行下一命令的方法
Jul 19 Python
Python实现随机爬山算法
Jan 29 Python
学习和使用python的13个理由
Jul 30 #Python
Win10系统下安装labelme及json文件批量转化方法
Jul 30 #Python
python利用tkinter实现屏保
Jul 30 #Python
django 微信网页授权登陆的实现
Jul 30 #Python
python tkinter库实现气泡屏保和锁屏
Jul 29 #Python
django迁移数据库错误问题解决
Jul 29 #Python
python实现桌面托盘气泡提示
Jul 29 #Python
You might like
中国的第一台收音机
2021/03/01 无线电
简单的过滤字符串中的HTML标记
2006/12/25 PHP
攻克CakePHP系列一 连接MySQL数据库
2008/10/22 PHP
实用PHP会员权限控制实现原理分析
2011/05/29 PHP
php反射应用示例
2014/02/25 PHP
php绘制一个扇形的方法
2015/01/24 PHP
PHP使用array_fill定义多维数组的方法
2015/03/18 PHP
PHP 匿名函数与注意事项详细介绍
2016/11/26 PHP
form表单传递数组数据、php脚本接收的实例
2017/02/09 PHP
在PHP中实现使用Guzzle执行POST和GET请求
2019/10/15 PHP
IE和Firefox下event事件杂谈
2009/12/18 Javascript
jQuery循环滚动展示代码 可应用到文字和图片上
2012/05/11 Javascript
onkeydown事件解决按回车键直接提交数据的需求
2013/04/11 Javascript
Vue中添加手机验证码组件功能操作方法
2017/12/07 Javascript
JS实现监控微信小程序的原理
2018/06/15 Javascript
微信小程序 Animation实现图片旋转动画示例
2018/08/22 Javascript
Vue中保存数据到磁盘文件的方法
2018/09/06 Javascript
简述pm2常用命令集合及配置文件说明
2019/05/30 Javascript
electron+vue实现div contenteditable截图功能
2020/01/07 Javascript
jquery实现拖拽添加元素功能
2020/12/01 jQuery
用Python和MD5实现网站挂马检测程序
2014/03/13 Python
python3 判断列表是一个空列表的方法
2018/05/04 Python
python实现对任意大小图片均匀切割的示例
2018/12/05 Python
python 有效的括号的实现代码示例
2019/11/11 Python
python实现回旋矩阵方式(旋转矩阵)
2019/12/04 Python
python绘制趋势图的示例
2020/09/17 Python
html5播放视频且动态截图实现步骤与代码(支持safari其他未测试)
2013/01/06 HTML / CSS
HTML5语义化元素你真的用对了吗
2019/08/22 HTML / CSS
Hotels.com加拿大:领先的在线住宿网站
2018/10/05 全球购物
如何理解委托
2012/01/06 面试题
高三高考决心书
2014/03/11 职场文书
干部对照检查材料范文
2014/08/26 职场文书
学生偷窃检讨书
2014/09/25 职场文书
白鹤梁导游词
2015/02/06 职场文书
九年级历史教学反思
2016/02/19 职场文书
Nginx文件已经存在全局反向代理问题排查记录
2022/07/15 Servers