Python基础:局部变量与全局变量的作用域及Global关键字详解

向北走
向北走
发布时间:2026-10-14| 1人浏览过
原创

本文详细解析Python中局部变量与全局变量的定义、作用域及交互规则。通过代码示例说明不同函数间局部变量的独立性,以及全局变量在函数内的访问与修改机制。重点讲解使用Global关键字修改全局变量的必要性,并演示局部变量与全局变量同名时的优先级处理,帮助开发者掌握变量作用域的核心概念。

四种基本的函数类型


局部变量是指在函数内部定义的变量,其作用域严格限制在函数内部。

不同的函数可以定义名称相同的局部变量,它们各自独立使用,互不影响。

局部变量的主要作用是临时保存数据,通过在函数中定义来实现数据的存储与处理。

全局变量的作用域覆盖整个程序,可在程序的任何位置访问。

若在函数内部试图修改全局变量的值,必须使用Global关键字进行声明,否则仅会创建一个新的局部变量。


局部变量
def printInfo():
    name='peter'  ##局部变量,只作用于printInfo函数,函数体之外无法使用
    print('name')
    pass
def TestMethod():
    print(name)
    pass

# TestMethod()
printInfo()


pro='计算机信息管理'  #一个全局变量,作用域的范围不同
def printInfo():
    name='peter'  ##局部变量,只作用于printInfo函数,函数体之外无法使用
    print('{}.{}'.format(name,pro))
    pass
def TestMethod():
    name='王保保'
    print(name)
    pass

# TestMethod()
printInfo()


pro='计算机信息管理'
name='卢卢卢'  #全局变量与局部变量冲突时,优先使用局部变量,局部变量不存在时,使用全局变量
def printInfo():
    name='peter'  ##局部变量,只作用于printInfo函数,函数体之外无法使用
    print('{}.{}'.format(name,pro))
    pass
def TestMethod():
    name='王保保'
    print(name)
    pass

# TestMethod()
printInfo()


pro='计算机信息管理'
name='卢卢卢'
def printInfo():
    name='peter'  ##局部变量,只作用于printInfo函数,函数体之外无法使用
    print('{}.{}'.format(name,pro))
    pass
def TestMethod():
    name='王保保'
    print(name)
    pass
def changeGlobal():
    '''
    要修改全局变量
    :return:
    '''
    pro='市场营销'
    pass
changeGlobal()
print(pro) ##检测是否被修改  未被修改


pro='计算机信息管理'
name='卢卢卢'
def printInfo():
    name='peter'  ##局部变量,只作用于printInfo函数,函数体之外无法使用
    print('{}.{}'.format(name,pro))
    pass
def TestMethod():
    name='王保保'
    print(name)
    pass
def changeGlobal():
    '''
    要修改全局变量
    :return:
    '''
    global pro 
    pro='市场营销'
    pass
changeGlobal()
print(pro) ##检测是否被修改  已被修改

总结

本文到此结束,希望能为读者提供有益的帮助,欢迎继续关注本站获取更多技术内容!

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。