简单了解python变量的作用域
作者:人生与戏 时间:2022-07-21 13:10:08
1.效果图:
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关键字
效果图:
代码:
a = 20
def fn3():
# a = 10 # 在函数中为变量赋值时,默认都是为局部变量赋值
# 如果希望在函数内部修改全局变量,则需要使用global关键字,来声明变量
global a # 声明在函数内部的使用a是全局变量,此时再去修改a时,就是在修改全局的a
a = 10 # 修改全局变量
print('函数内部:','a =',a)
fn3()
print('函数外部:','a =',a)
来源:https://www.cnblogs.com/FlyingLiao/p/11267355.html
标签:python,变量,作用域
0
投稿
猜你喜欢
BootStrap的select2既可以查询又可以输入的实现代码
2024-04-28 10:18:41
Golang 性能基准测试(benchmark)详解
2024-02-08 03:10:11
Python常见异常的处理方式浅析
2022-05-14 17:32:37
对设计文档的一点小看法
2010-03-15 12:30:00
Python设计模式之命令模式原理与用法实例分析
2022-07-28 20:49:15
Pycharm不同版本镜像源添加方法
2023-08-24 15:59:43
Python爬虫之BeautifulSoup的基本使用教程
2022-03-27 18:35:31
JavaScript队列函数和异步执行详解
2024-04-22 13:26:21
在Vista IIS 7 中用 vs2005 调试 Web 项目的注意事项
2011-04-18 10:38:00
flask框架url与重定向操作实例详解
2022-02-08 17:49:39
Python的Django框架中使用SQLAlchemy操作数据库的教程
2021-10-28 11:41:09
layui 富文本图片上传接口与普通按钮 文件上传接口的例子
2024-05-22 10:36:28
Python中pandas dataframe删除一行或一列:drop函数详解
2021-07-09 16:46:47
边框样式的写法总结
2009-01-18 13:00:00
pandas pd.cut()与pd.qcut()的具体实现
2022-08-03 03:41:36
Dreamweaver使用中的7个常见问题与解答
2007-11-03 11:34:00
mysql中的保留字段产生的问题
2024-01-14 06:30:58
详解MySQL的用户密码过期功能
2024-01-21 01:29:40
python装饰器代码解析
2021-12-29 19:39:07
使用Python的networkx绘制精美网络图教程
2022-10-31 06:52:47