博客
关于我
06-局部变量和全局变量
阅读量:596 次
发布时间:2019-03-11

本文共 1393 字,大约阅读时间需要 4 分钟。

局部变量与全局变量的区别及使用

在编写Python程序时,变量的作用域非常重要。变量可以是局部变量或全局变量,这两种变量的定义和使用方法存在明显差异。理解这些概念对于编写高效且可维护的代码至关重要。

局部变量

局部变量是指在函数内部定义的变量,只能在该函数内部使用,不能在外部函数中使用。局部变量的优点是可以保护变量不被意外修改,但其缺点是如果多个函数需要使用相同的变量,无法直接实现。

例如:

def test1():    a = 100

在调用 test1() 时,变量 a 仅在 test1 函数中可用。

如果尝试在另一个函数 test2() 中使用 a,则会出现 NameError:

def test2():    print("a=%d" % a)

调用 test2() 会报错,因为 a 在 test2 函数中未定义。

全局变量

全局变量是在函数外定义的变量,可以在任何函数中使用和修改。全局变量的作用是让多个函数能够共享同一个变量,提高代码的复用性和维护性。

例如:

a = 99def test1():    a = 100    print("test1函数中a=100")

在调用 test1() 时,a 被赋值为 100。由于 a 是全局变量,它也会反映到 test2 函数中:

def test2():    print("test2函数中a=99")

调用 test2() 时,仍然会输出 a=99,因为全局变量的修改在所有函数中都可见。

全局变量的声明与修改

在函数内部对全局变量进行修改时,需要使用 global 关键字。例如:

a = 30def get_wendu():    global wendu    wendu = 33

如果不声明 global,则 wendu 在函数内部会被视为局部变量,修改不会影响全局变量。

全局变量的位置

全局变量的定义位置直接影响其可用性。正确的做法是将全局变量定义在函数外:

nums = [11, 22, 33]infor = {"name": "laowang", "age": 16}def test1():    nums.append(44)    infor['addr'] = "henan"

在调用 test1() 和 test2() 时,nums 和 infor 会被正确修改和访问。

函数文档说明

为确保代码的可维护性,建议为函数添加文档说明。使用 '''''' 注释描述函数功能:

def test():    '''打印字符串'''    print("abcdefg")

这样可以让其他开发者快速了解函数的用途。

列表和字典作为全局变量

列表和字典可以作为全局变量使用,因为它们是可变类型。例如:

nums = [11, 22, 33]infor = {"name": "laowang", "age": 16}def test1():    nums.append(44)    infor['addr'] = "henan"def test2():    print(nums)    print(infor)

调用 test1() 和 test2() 时,可以正确修改和访问 nums 和 infor。

通过理解和正确使用局部变量和全局变量,可以显著提升代码的可读性和维护性。

转载地址:http://kpltz.baihongyu.com/

你可能感兴趣的文章
python列表前几个_python之列表
查看>>
python列表元组
查看>>
Python列表/元组/字典和集合使用
查看>>
python列表 行列选择_python_pandas_dataframe_行列选择_切片操作
查看>>
python列表
查看>>
python列出当前目录、子目录和文件的脚本
查看>>
python+flask计算机毕业设计骨科门诊患者档案管理系统(程序+开题+论文)
查看>>
python+flask计算机毕业设计高校体测管理系统的设计与实现(程序+开题+论文)
查看>>
Python切片对象和__getitem__
查看>>
python+flask计算机毕业设计高校体育赛事系统(程序+开题+论文)
查看>>
python+flask计算机毕业设计高校体育运动会比赛系统(程序+开题+论文)
查看>>
python+flask计算机毕业设计高校危化品管理系统(程序+开题+论文)
查看>>
python+flask计算机毕业设计高校教学档案管理系统(程序+开题+论文)
查看>>
python+flask计算机毕业设计高校教学督导平台(程序+开题+论文)
查看>>
python+flask计算机毕业设计高校数字化迎新系统(程序+开题+论文)
查看>>
python+flask计算机毕业设计高校校内景点平台(程序+开题+论文)
查看>>
python+flask计算机毕业设计高校校园线上跳蚤市场的系统设计(程序+开题+论文)
查看>>
Python图形处理
查看>>
python+flask计算机毕业设计高校物品使用互益平台的设计与实现(程序+开题+论文)
查看>>
Python函数,匿名函数,高阶函数,内置函数——08
查看>>