ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

python|局部变量和全局变量

2021-12-19 14:34:27  阅读:232  来源: 互联网

标签:global 变量 python 局部变量 number print 全局变量 函数


局部变量

  • 局部变量,就是在函数内部定义的变量
  • 其作用范围是这个函数内部,即只能在这个函数中使用,在函数的外部是不能使用的
  • 局部变量的作用,为了临时保存数据需要在函数中定义变量来进行存储
  • 当函数调用时,局部变量被创建,当函数调用完成后这个变量就不能够使用了
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

标签:global,变量,python,局部变量,number,print,全局变量,函数
来源: https://blog.csdn.net/Gin_m/article/details/122023418

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有