Python变量作用域的规则以及如何搜索内置作用域

本文介绍了Python变量作用域的规则,包括内部嵌套函数、全局作用域、内置作用域和局部作用域。Python有四个作用域层次,从内到外依次是:内置作用域、局部作用域、全局作用域和文件级(模块级)作用域。当引用变量时,会从当前层次开始向外搜索。内置作用域包含预定义的关键字和函数,如open和range。阅读本文,深入了解Python变量作用域的搜索逻辑。
摘要由CSDN通过智能技术生成

喜欢编程,热爱分享,希望能结交更多志同道合的朋友,一起在学习Python的道路上走得更远!有不懂的问题可以私聊我哦!

**作用域:**是指变量的生效范围,例如本地变量、全局变量描述的就是不同的生效范围。

python的变量作用域的规则非常简单,可以说是所有语言中最直观、最容易理解的作用域。

在开始介绍作用域之前,先抛一个问题:

1 x=1
2 def f():
3 x=34 g()
5 print("f:",x) 
# 3
6 
7 def g():
8 print("g:",x) 
# 1
9
10 f()
11 print("main:",x) 
# 1

上面的代码将输出3、1、1。

python作用域规则简介

**它有4个层次的作用域范围:**内部嵌套函数、包含内部嵌套函数的函数自身、全局作用域、内置作用域。上面4个作用域的范围排序是按照从内到外,从小到大排序的。

Python变量作用域的规则以及如何搜索内置作用域

其中:

  • 内置作用域是预先定义好的,在__builtins__模块中。这些名称主要是一些关键字,例如open、range、quit等
  • 全局作用域是文件级别的,或者说是模块级别的,每个py文件中处于顶层的变量都是全局作用域范围内的变量
  • 本地作用域是函数内部属于本函数的作用范围,因为函数可以嵌套函数,嵌套的内层函数有自身的内层范围
  • 嵌套函数的本地作用域是属于内层函数的范围,不属于
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值