026、变量作用域
本文最后更新于 258 天前,其中的信息可能已经过时,如有错误请发送邮件到wuxianglongblog@163.com

变量作用域

函数外部定义的变量可以在函数里面使用、修改和重新赋值,这涉及到Python中变量作用域的问题。

变量作用域(Variable Scope)是指变量的有效生存空间。

在函数中,Python会按照以下顺序,在各个作用域的命名空间中寻找变量:

  • 函数局部作用域(Local Function Scope)。
  • 闭包作用域(Enclosing Scope)。
  • 全局作用域(Global Scope)。
  • 内置作用域(Built-in Scope)。

如果有重名的变量,局部优先于闭包,闭包优先于全局,全局优先于内置。

局部作用域

例如,所有变量在局部作用域的例子:

def foo(a, b):
    c = 1
    return a + b + c

全局作用域

c在全局作用域:

c = 1
def foo(a, b):
    return a + b + c

内置作用域

内置函数都在内置作用域,它们都可以在标准库模块builtins中找到:

import builtins
len is builtins.len
True

闭包作用域

嵌套函数中,a相对于inner()函数来说,是一个属于闭包作用域的变量:

def outer():
    a = 1
    def inner():
        print(f"{a=}")
    inner()

outer()
a=1
谨此笔记,记录过往。凭君阅览,如能收益,莫大奢望。
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇