- 本书赞誉
- 前言
- 目标读者
- 不适合阅读本书的读者
- 本书结构
- 什么是数据处理
- 遇到困难怎么办
- 排版约定
- 使用代码示例
- 致谢
- 第 1 章 Python 简介
- 第 2 章 Python 基础
- 第 3 章 供机器读取的数据
- 第 4 章 处理 Excel 文件
- 第 5 章 处理 PDF 文件 以及用 Python 解决问题
- 第 6 章 数据获取与存储
- 第 7 章 数据清洗:研究、匹配与格式化
- 第 8 章 数据清洗:标准化和脚本化
- 第 9 章 数据探索和分析
- 第 10 章 展示数据
- 第 11 章 网页抓取:获取并存储网络数据
- 第 12 章 高级网页抓取:屏幕抓取器与爬虫
- 第 13 章 应用编程接口
- 第 14 章 自动化和规模化
- 第 15 章 结论
- 附录 A 编程语言对比
- 附录 B 初学者的 Python 学习资源
- 附录 C 学习命令行
- 附录 D 高级 Python 设置
- 附录 E Python 陷阱
- 附录 F IPython 指南
- 附录 G 使用亚马逊网络服务
- 关于作者
- 关于封面
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
E.6 定义对象与修改对象
在 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论