返回介绍

E.6 定义对象与修改对象

发布于 2024-01-27 21:43:10 字数 540 浏览 0 评论 0 收藏 0

在 Python 中,定义一个新的对象与修改一个老对象,执行的方式略有区别。假设你有一个函数,为一个整数加 1:

def add_one_int():
  x += 1
  return x

如果你尝试运行这段函数,应该会收到一个错误:UnboundLocalError: local variable 'x' referenced before assignment。然而,如果你在函数中定义了 x,会看到不同的结果:

def add_one_int():
  x = 0
  x += 1
  return x

这段代码有些复杂(为什么我们不能直接返回 1 ?),但是这里的重点是,我们在修改变量之前需要先声明变量,即使我们使用了一个看起来像赋值的修改(+=)。在处理像列表和字典这样的对象工作时留心这一点是特别重要的(因为我们知道修改一个对象会对存储在相同内存位置的其他对象产生副作用)。

需要记住的是,在你想要修改一个对象和想要创建或返回一个新对象时,永远要保持清晰和明确。你命名变量的方式,以及编写与实现函数的方式,是编写清晰与行为可预测的脚本的关键。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文