python中全局变量与局部变量的区别

#定义一个全局变量
m = 0;
def sum_1():
    m = 13 #在函数内部创建了局部变量,绝非修改全局变量
    n = 12
    return m+n
def sum_2():
    global m #声明m是一个全局变量
    m = 13   #对全局变量m进行修改
    n = 12
    return m + n
def sum_3():
    m = m+3 #在函数内部,如果要使用全部变量,必须先使用global声明,才可使用,否则报错,变量未定义
    print(m)
sum_1()
print("全局变量m的值为%d"%m)
sum_2()
print("全局变量m的值为%d"%m)
sum_3()
"""
输出:
全局变量m的值为0
全局变量m的值为13
Traceback (most recent call last):
  File "D:/Code/BaseCode/7-全局变量与局部变量的区别.py", line 19, in <module>
    sum_3()
  File "D:/Code/BaseCode/7-全局变量与局部变量的区别.py", line 13, in sum_3
    m = m+3
UnboundLocalError: local variable 'm' referenced before assignment
"""

"""
全局变量与局部变量的区别:
1、在函数内部不能修改全部变量的引用:
    在函数内部,可以通过全局变量的引用获取对应的数据,如果在函数内部对
全局变量使用赋值语句,相当于在函数内部定义了一个与全局变量同名的局部变量,
全局变量中的值并没有改变
2、如何在函数内部修改全局变量的值?
    2.1 在函数内部,使用global关键字对全局变量进行声明,global关键字会告诉解释器
    后面的变量是一个全局变量,绝非是一个局部变量;
    2.2 在函数内部,如果要使用全部变量,必须先使用global声明,才可使用,否则报错,变量未定义
    2.3 global声明之后,就可对全局变量进行修改

"""


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值