ICode9

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

python 3 基础之局部变量与全局变量

2020-07-05 14:38:16  阅读:191  来源: 互联网

标签:函数 python 局部变量 num print 全局变量 my


1、局部变量

  局部变量,就是在函数内部定义的变量;其作用范围是这个函数内部,即只能在这个函数中使用,在函数的外部是不能使用的;

  因为其作用范围只是在自己的函数内部,所以不同的函数可以定义相同名字的局部变量

  当函数调用时,局部变量被创建,当函数调用完成后这个变量就不能够使用了

# 定义一个函数
def my_func(a,b):
    num = a + b
    print(num)

my_func(23,23)
# 定义一个局部变量相同的第二个函数
def my_func2(a,b):
    num = a * b
    print(num)

my_func2(33,2)

  两个函数各自内部的变量num都可以在函数各自内部正常使用 :在函数内部定义的局部变量名可以和其他函数中的局部变量名相同 是不冲突的

2、全局变量

  全局变量和局部变量的区别在于作用域,全局变量在整个py文件中声明,全局范围内可以使用;局部变量是在某个函数内部声明的,只能在函数内部使用,如果超出使用范围(函数外部),则会报错

  当函数内出现局部变量和全局变量相同名字时,函数内部中的 变量名 = 数据 此时理解为定义了一个局部变量,而不是修改全局变量的值

# 全局变量
num = 1
# 函数
def num_func():
    # 局部变量
    num = 10
    print('函数内部',num)

num_func()

print('函数外面',num)

======================================
运行结果:

  函数内部 10
  函数外面 1

    函数内部如果使用一个变量 他先从函数内部找 如果有直接使用;函数内部没有找到 会到函数外面找(全局变量) 

    若一个全局变量在函数中使用,修改全局变量,需要声明,如下:

# 定义一个变量
num = 1
def my_func1():
    # 标识这函数内部不是定义一个局部变量 其实是对全局变量的进行修改
    global num
    # 对全局变量的值进行修改
    num = 20
    print("my_func1", num)
my_func1()
# 打印也是20
print("外面", num)
==============================================================
运行结果:

    my_func1 20
    外面 20

  如果在函数中出现  global +全局变量的名字 ,那么这个函数中即使出现和全局变量名相同的变量名 = 数据 也理解为对全局变量进行修改,而不是定义局部变量;执行过后,全局变量值也会改变。

  

  如果全局变量是列表类型,可以通过list的列表方法去对列表进行修改,并且可以不用global来声明,如下:

list_1 = [1,2,56,"list"]
def changeList():
    list_1.append("over")
    print(list_1)

changeList()
print(list_1)

 

标签:函数,python,局部变量,num,print,全局变量,my
来源: https://www.cnblogs.com/will-wu/p/13245997.html

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

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

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

ICode9版权所有