栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python|局部变量和全局变量

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python|局部变量和全局变量

局部变量

  • 局部变量,就是在函数内部定义的变量
  • 其作用范围是这个函数内部,即只能在这个函数中使用,在函数的外部是不能使用的
  • 局部变量的作用,为了临时保存数据需要在函数中定义变量来进行存储
  • 当函数调用时,局部变量被创建,当函数调用完成后这个变量就不能够使用了
def test1():
    #定义局部变量
    a = 100
    print('修改前a=%d'%a)
    a = 200
    print('修改后a=%d'%a)
def test2():
    a = 400
    print('a=%d'%a)
# 调用函数
test1()
#返回 修改前a=100
#     修改后a=200
test2()
#返回 a=400

全局变量

  • 如果一个变量,既能在一个函数中使用,也能在其他的函数中使用,这样的变量就是全局变量
  • 在函数外边定义的变量叫做全局变量
  • 全局变量能够在所有的函数中进行访问
# 定义全局变量
a = 100
def test1():
    print(a)  # 虽然没有定义变量a但是依然可以获取其数据
def test2():
    print(a)  # 虽然没有定义变量a但是依然可以获取其数据
# 调用函数
test1()
#返回 100
test2()
#返回 100

global和nonlocal关键字

函数内部无法直接修改全局变量或在嵌套函数的外层函数声明的变量,但可以使用global或nonlocal关键字修饰变量以间接修改以上变量。

1.global关键字

使用global关键字可以将局部变量声明为全局变量

其使用方法如下: global 变量

number = 10         # 定义全局变量
def test_one():
    global number   # 使用global声明变量number为全局变量
    number += 1
    print(number)
test_one()
#返回 11
print(number)
#返回 11

2.nonlocal关键字

使用nonlocal关键字可以在局部作用域中修改嵌套作用域中定义的变量

其使用方法如下: nonlocal 变量

def test():
    number = 10
    def test_in():
        nonlocal number
        number = 20
    test_in()
    print(number)
test()
#返回 20

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/675372.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号