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

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

本文详细解析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 相关产品和应用

全部下载

专题列表