Python基础篇-011. 变量作用域

[toc]

一、创作声明

本Python系列课程,是一门初级课程。目标是想让大家能在Python方面,实现从零基础到入门。这个课程的特殊性在于,这将是一门由我来主导教学思路,由ChatGPT来主导教学内容的课程。我认为这将会是一种非常有意思的尝试。

二、前言

本章学习目标:

  1. 了解Python中的变量的作用域,并学会使用

  2. 了解global关键字

三、变量作用域

在Python中,变量的作用域指的是变量在程序中可被访问的范围。Python中有四种不同的作用域:全局作用域、局部作用域、嵌套作用域和内置作用域。

1、全局作用域:在函数外部定义的变量具有全局作用域,可以在整个程序中的任何地方被访问。例如:

x = 10

def func():
    print(x)

func()  # 输出:10

2、局部作用域:在函数内部定义的变量具有局部作用域,只能在函数内部被访问。例如:

def func():
    y = 20
    print(y)

func()  # 输出:20
print(y)  # 报错:NameError: name 'y' is not defined

3、嵌套作用域:当函数嵌套定义时,内部函数可以访问外部函数的变量,但外部函数不能访问内部函数的变量。例如:

def outer():
    z = 30
    
    def inner():
        print(z)
    
    inner()  # 输出:30

outer()
print(z)  # 报错:NameError: name 'z' is not defined

4、内置作用域:Python中有一些内置的函数和变量,它们具有内置作用域,可以在任何地方被访问。例如:

print(len("hello"))  # 输出:5

四、global关键字

需要注意的是,当在函数内部定义一个与全局变量同名的变量时,该变量会被视为局部变量,而不是全局变量。如果需要在函数内部修改全局变量的值,可以使用global关键字来声明。例如:

x = 10

def func():
    global x
    x = 20
    print(x)

func()  # 输出:20
print(x)  # 输出:20

五、写在最后

更多技术分享,点击传送门:https://github.com/maxiaolu66/profile

Last updated