简单了解python变量的作用域

作者:人生与戏 时间:2022-07-21 13:10:08 

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)

来源: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
  • asp之家 网络编程 m.aspxhome.com