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

python局部变量与全局变量问题

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

python局部变量与全局变量问题

不是局部变量不可修改全局变量吗?怎么还可以运行呢? 答:因为point += 2相当于 point = point + 2,这个point接收的参数是【位置参数】point 所以相当于只是在【局部作用域】写了一个赋值语句。

def sum(point):
point += 2 # 局部变量
return point
point = 10 # 全局变量
n = sum(5)
print(n)


这样子是不行的:

point = 4
def sum(name):
    point = point + 2
    return point
point = 10
n = sum(10)
print(n)

出现报错:UnboundLocalError: local variable ‘point’ referenced before assignment。翻译一下就是:局部变量point在赋值之前被引用。也就是说:python把point = point + 2中的point当成了局部变量使用,然而他并没有被赋值,因此出现报错,为什么局部变量不使用全局变量的point呢?这是因为在同一行赋值语句里,局部变量不能引用全局变量,会被python误解为修改全局变量值。

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

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

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