Skip to Content
Python数据处理
book

Python数据处理

by Jacqueline Kazil, Katharine Jarmul
July 2017
Intermediate to advanced
398 pages
11h 54m
Chinese
Posts & Telecom Press
Content preview from Python数据处理
Python
陷阱
367
和字典这样的对象工作时留心这一点是特别重要的(因为我们知道修改一个对象会对存储
在相同内存位置的其他对象产生副作用)。
需要记住的是,在你想要修改一个对象和想要创建或返回一个新对象时,永远要保持清晰
和明确。你命名变量的方式,以及编写与实现函数的方式,是编写清晰与行为可预测的脚
本的关键。
E.7
 修改不可变对象
想要修改或改变不可变对象时,你需要创建新的对象。
Python
不会允许你修改不可变对
象,例如元组。在我们讨论
Python
内存管理时,你已经知道一些对象保存在相同的空间
中。不可变对象不能被改变,它们总是被重新赋值。让我们看一下:
In [1]: my_tuple = (1,)
In [2]: new_tuple = my_tuple
In [3]: my_tuple
Out[3]: (1,)
In [4]: new_tuple
Out[4]: (1,)
In [5]: my_tuple += (4, 5)
In [6]: new_tuple
Out[6]: (1,)
In [7]: my_tuple
Out[7]: (1, 4, 5)
可以看到,我们尝试使用
+=
操作符去修改原始的元组,并且我们能够成功地做到这一点。
然而,我们得到的是一个包含原始元组和追加了元组(
4, 5
)的新对象。我们最终没有改
new_tuple
变量,因为我们只是将内存中的一个新地址赋给新的对象。如果你在查看
+=
操作之前和之后查看内存地址,你会看到它的改变。
关于不可变对象需要记住的重点是 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

数据科学中的实用统计学(第2版)

数据科学中的实用统计学(第2版)

Peter Bruce, Andrew Bruce, Peter Gedeck
Java持续交付

Java持续交付

Daniel Bryant, Abraham Marín-Pérez
解密金融数据

解密金融数据

Justin Pauley

Publisher Resources

ISBN: 9787115459190