简单了解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网络爬虫采集联想词示例
Feb 11 Python
Mac下Supervisor进程监控管理工具的安装与配置
Dec 16 Python
python调用java模块SmartXLS和jpype修改excel文件的方法
Apr 28 Python
Python实现二分查找算法实例
May 26 Python
详解Python如何获取列表(List)的中位数
Aug 12 Python
ubuntu16.04制作vim和python3的开发环境
Sep 23 Python
Python Django框架实现应用添加logging日志操作示例
May 17 Python
通过PYTHON来实现图像分割详解
Jun 26 Python
pytorch 使用单个GPU与多个GPU进行训练与测试的方法
Aug 19 Python
python如何提取英语pdf内容并翻译
Mar 03 Python
python实现FTP文件传输的方法(服务器端和客户端)
Mar 20 Python
Python 中random 库的详细使用
Jun 03 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
用PHP实现ODBC数据分页显示一例
2006/10/09 PHP
source.php查看源文件
2006/12/09 PHP
php通过数组实现多条件查询实现方法(字符串分割)
2014/05/06 PHP
PHP代码判断设备是手机还是平板电脑(两种方法)
2015/10/19 PHP
php时间函数用法分析
2016/05/28 PHP
[JS]点出统计器
2020/10/11 Javascript
JavaScript 保存数组到Cookie的代码
2010/04/14 Javascript
jQuery maxlength文本字数限制插件
2010/04/16 Javascript
使用jquery为table动态添加行的实现代码
2011/03/30 Javascript
限制textbox或textarea输入字符长度的JS代码
2013/10/16 Javascript
javascript框架设计读书笔记之种子模块
2014/12/02 Javascript
JS实现控制表格行内容垂直对齐的方法
2015/03/30 Javascript
使用jQuery获取data-的自定义属性
2015/11/10 Javascript
AngularJS实用开发技巧(推荐)
2016/07/13 Javascript
纯JavaScript手写图片轮播代码
2016/10/20 Javascript
JS实现颜色梯度与渐变效果完整实例
2016/12/30 Javascript
js实现简易聊天对话框
2017/08/17 Javascript
vue实现简单瀑布流布局
2020/05/28 Javascript
[01:06:26]全国守擂赛第二周 Team Coach vs DeMonsTer
2020/04/28 DOTA
Python 自动安装 Rising 杀毒软件
2009/04/24 Python
python处理csv数据的方法
2015/03/11 Python
python获取指定目录下所有文件名列表的方法
2015/05/20 Python
深入理解Python中字典的键的使用
2015/08/19 Python
Python中%r和%s的详解及区别
2017/03/16 Python
利用python修改json文件的value方法
2018/12/31 Python
python使用phoenixdb操作hbase的方法示例
2019/02/28 Python
Python中的asyncio代码详解
2019/06/10 Python
Python使用微信接入图灵机器人过程解析
2019/11/04 Python
Python利用多线程同步锁实现多窗口订票系统(推荐)
2019/12/22 Python
如何一键升级Python所有包
2020/11/05 Python
英国蜡烛、蜡烛配件和家居香氛购买网站:Yankee Candle
2018/12/12 全球购物
社会学专业求职信
2014/02/24 职场文书
社会治安综合治理责任书
2015/01/29 职场文书
公司借条范本
2015/05/25 职场文书
python3.9之你应该知道的新特性详解
2021/04/29 Python
css让页脚保持在底部位置的四种方案
2022/07/23 HTML / CSS