Ebook Fluent Python Luciano Ramalho Online PDF All Chapter
Ebook Fluent Python Luciano Ramalho Online PDF All Chapter
Ebook Fluent Python Luciano Ramalho Online PDF All Chapter
https://ebookmeta.com/product/fluent-python-2nd-edition-luciano-
ramalho/
https://ebookmeta.com/product/fluent-python-2nd-edition-luciano-
ramalho-2/
https://ebookmeta.com/product/fluent-python-2nd-edition-luciano-
ramalho-3/
https://ebookmeta.com/product/fluent-python-clear-concise-and-
effective-programming-12th-early-release-2nd-luciano-ramalho/
Fluent React (5th Early Release) 1st Edition Tejas
Kumar
https://ebookmeta.com/product/fluent-react-5th-early-release-1st-
edition-tejas-kumar/
https://ebookmeta.com/product/the-built-work-of-giuseppe-
pizzigoni-luciano-motta/
https://ebookmeta.com/product/tourism-in-natural-and-
agricultural-ecosystems-in-the-eighteenth-and-nineteenth-
centuries-1st-edition-martino-lorenzo-maffi-fagnani-luciano-
luciano-maffi/
https://ebookmeta.com/product/fluent-c-principles-practices-and-
patterns-1st-edition-christopher-preschern/
https://ebookmeta.com/product/beginning-jakarta-ee-web-
development-3rd-edition-luciano-manelli/
Fluent Python
Luciano Ramalho
Fluent Python
by Luciano Ramalho
First Edition
Nutshell Handbook, the Nutshell Handbook logo, and the O’Reilly logo
are registered trademarks of O’Reilly Media, Inc. !!FILL THIS IN!! and
related trade dress are trademarks of O’Reilly Media, Inc.
[?]
Table of Contents
Preface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . xv
Part I. Prologue
String representation 11
Arithmetic operators 11
Chapter summary 14
Further reading 15
Cartesian products 23
Generator expressions 25
Tuples as records 26
Tuple unpacking 27
Named tuples 30
Slicing 33
Slice objects 34
Assigning to slices 36
Using + and * with sequences 36
A += assignment puzzler 40
Arrays 48
Memory views 51
Chapter summary 57
Further reading 58
dict comprehensions 66
Variations of dict 75
Subclassing UserDict. 76
Immutable mappings 77
Set theory 79
set literals 80
set comprehensions 81
Set operations 82
A performance experiment 85
vi | Table of Contents
Chapter summary 93
Further reading 94
4. Text versus bytes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . 97
Character issues 98
Byte essentials 99
5. First-class functions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . 139
Command 177
9. A Pythonic object. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . 247
Table of Contents | ix
x | Table of Contents
13. Operator overloading: doing it right. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . 373
16. Coroutines. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . 465
Afterword. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . 685
A. Support scripts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . 689
Python jargon. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . 717
Preface
Here’s the plan: when someone uses a feature you don’t understand,
simply shoot them.
This is easier than learning something new, and before too long the
only living coders
— Tim Peters
writing Python code with a very strong accent carried from languages
learned before.
another problem that this book tries to address: we only miss stuff
we know about.
pressions, and look that up in the docs. But if you’ve never seen tuple
unpacking or
descriptors before, you will probably not search for them, and may
end up not using
those features just because they are specific to Python.
features that are either unique to Python or not found in many other
popular languages.
This is also mostly a book about the core language and some of its
libraries. I will rarely
talk about packages that are not in the standard library, even though
the Python package
index now lists more than 53.000 libraries and many of them are
incredibly useful.
xv
XXXtodo
This book was written for practicing Python programmers who want
to become pro‐
the fixes needed to make the code work in earlier versions. Most
examples should run
significant rewriting.
Having said that, I believe this book may be useful even if you must
stick with Python
2.7, because the core concepts are still the same. Python 3 is not a
new language, and
starting point. Of course, there have been changes after Python 3.0
was released in 2009,
If you are not sure whether you know enough Python to follow along,
review the topics
of the official Python Tutorial. Topics covered in the tutorial will not
be explained here, except for some features that are new in Python
3.
The core audience for this book should not have trouble jumping
directly to any chapter
in this book. However, I did put some thought into their ordering.
xvi | Preface
inherit from existing ABCs than to create a new ABC from scratch.
And finally, I believe
chapters. I hope these will be easier to tolerate now that you know
why I chose this path.
The chapters are split in 6 parts. This is the idea behind each of
them:
Part I: Prologue
A single chapter about the Python Data Model explaining how the
special methods
data model is the subject of most of the rest of the book, but Chapter
1 provides a high-level overview.
sets, as well as the str versus bytes split — the reason for much joy
for Python 3
users and much pain for Python 2 users who have not yet migrated
their code bases.
The main goals are to recall what is already available and to explain
some behavior
goals, the coverage is sometimes high level and wide — when many
variations of
we dive into the hash tables underneath the dict and set types.
collections and ABCs, how to cope with multiple inheritance and how
to implement
Preface | xvii
Covered in this part are the language constructs and libraries that go
beyond se‐
powerful new yield from syntax. Part V closes with high level a
introduction to
processes under the covers with the help of futures — and doing
event-oriented I/
This part starts with a review of techniques for building classes with
attributes
the use of the advanced tools of the last chapter: class decorators
and metaclasses.
Hands-on Approach
a REPL — read-eval-print-loop.
doctest to check most of the code in this book, including the console
listings. You don’t
need to use or even know about doctest to follow along: the key
feature of doctests is
how to do it helps focus our coding effort. Writing tests first is the
basis of TDD (Test
Driven Development) and I’ve also found it helpful when teaching. If
you are unfamiliar
with doctest, take a look at its documentation and this book’s source
code repository.
You’ll find that you can verify the correctness of most of the code in
the book by typing
xviii | Preface
The book has some simple benchmarks and timings. Those tests
were performed on
one or the other laptop I used to write the book: a 2011 MacBook
Pro 13” with a 2.7
GHz Intel Core i7 CPU, 8MB of RAM and a spinning hard disk, and a
2014 MacBook
Air 13” with a 1.4 GHZ Intel Core i5 CPU, 4MB of RAM and a solid
state disk. The
MacBook Air has a slower CPU and less RAM, but its RAM is faster
(1600 vs. 1333
MHz) and the SSD is much faster than the HD. In daily usage I can’t
tell which machine
is faster.
about Python and other languages. Feel free to skip that if you are
not into such dis‐
Python Jargon
I wanted this to be a book not only about Python but also about the
culture around it.
own particular lingo and acronyms. The Python jargon collects terms
that have special meaning among Pythonistas.
I tested all the code in the book using Python 3.4 — that is, CPython
3.4, i.e. the most
“The new @ infix operator in Python 3.5” on page 385 shows the @
operator which is only supported by Python 3.5.
Almost all code in the book should work with any Python 3.x
compatible interpreter,
including PyPy3 2.4.0 which is compatible with Python 3.2.5. A
notable exception are
the examples using yield from and asyncio, which are only available
in Python 3.3 or
later.
Most code should also work with Python 2.7 with minor changes,
except the Unicode-
Preface | xix
Conventions Used in This Book
XXXrevise
Italic Indicates new terms, URLs, email addresses, filenames, and file
extensions.
Constant width
the term.
mined by context.
«Guillemets»
2. In the Python docs, square brackets are used for this purpose, but
I have seen people confuse them with list displays.
xx | Preface
Using Code Examples
Every script and most code snippets that appear in the book are
available in the flu
https://github.com/oreillymedia/title_title.
This book is here to help you get your job done. In general, if
example code is offered
with this book, you may use it in your programs and documentation.
You do not need
ample code from this book into your product’s documentation does
require permission.
author, publisher, and ISBN. For example: “Book Title by Some Author
(O’Reilly).
If you feel your use of code examples falls outside fair use or the
permission given above,
ogy, and dozens more. For more information about Safari Books
Online, please visit us
online.
Preface | xxi
How to Contact Us
Sebastopol, CA 95472
We have a web page for this book, where we list errata, examples,
and any additional
at http://www.oreilly.com.
Acknowledgments
simple and clear. Guido van Rossum, son of an architect and brother
of a master font
value to the book. Victor Stinner kindly reviewed Chapter 18, bringing
his expertise as xxii | Preface
Luz
Da egreja de Nossa Senhora da Luz resta-nos o cruzeiro, e a
capella-mór; o corpo da egreja abateu por occasião do terremoto de
1755. É da fundação da infanta D. Maria, senhora opulenta e de alta
cultura d’espirito. Nesta egreja ha obras d’arte notaveis em
esculptura de madeira e pedra, em architectura, e em pintura. A
capella-mór tem 12 x 8 metros; o cruzeiro 21 x 10.
A capella-mór é ampla, alta, coberta de abobada revestida, assim
como as paredes, de marmores diversos formando quadrellas; é o
conhecido estylo classico dominante no findar do seculo XVI. Nichos
com estatuas animam as grandes paredes. Na parede que olha ao
sul estão rasgadas janellas que dão bastante claridade.
O altar-mór está elevado, sobre o pavimento da capella; quatro
degraus se sobem para lá chegar.
Além do altar-mór abre-se um grande arco que abriga o sacrario,
soberba obra d’arte muito elegante, em madeira entalhada e
dourada; atraz fica o vasto côro, agora sacristia, no mesmo nivel da
egreja. Proximo do grande altar, no chão, ha uma abertura circular
que diz para a fonte de agua milagrosa.
A meio da capella-mór o singelo tumulo da fundadora.
Na capella-mór ha duas capellas lateraes; outras duas no
cruzeiro.
Empregaram na construcção marmores branco e vermelho,
servindo-se da pedra d’Arrabida na ornamentação; nos frisos e
molduras sobresahem quadrados, losangos, ellipses feitos n’essa
pedra, bem trabalhada e polida. A pedra vermelha fórma o fundo, a
branca a parte saliente e ornamental.
Nos grandes nichos da capella-mór estão dezesete estatuas em
marmore: Nossa Senhora com o Menino de Jesus, S. Thomé, S.
André, S. João, S. Lucas, S. Matheus, S. Marcos, S. Simão, S.
Mathias; estas á direita, olhando para o altar-mór; á esquerda, S.
Filippe, S. Thiago Maior, S. Pedro, S. Judas Thadeu, S. Thiago
Menor e S. Bartholomeu. As estatuas da Virgem e dos Evangelistas
são maiores.
Estas estatuas são em marmore branco d’Estremoz, lindo
marmore; o trabalho é muito pegado, os artistas não se atreveram a
desligar, a destacar braços ou mãos.
No exterior do edificio, lado sul, ha outra estatua de Nossa
Senhora com o Menino e, ainda uma terceira na frontaria do
Collegio Militar; todas da mesma época e do mesmo estylo
acanhado. São todavia de bom trabalho, e representam
excellentemente o estado da estatuaria em Portugal naquelle tempo.
No altar-mór admiramos alguns baixos relevos em fino jaspe, em
seis pequenas pilastras; são figuras symbolicas da Fé, Justiça,
Fortaleza, etc.
Sobre a figura da Fortaleza ha um medalhão com Hercules, o leão
e o centauro finamente executado.
Uma das figuras é a Astronomia, outra a Medicina. Nas pilastras
que formam as esquinas do altar, as faces lateraes mostram fructas
e flores, escudos e peças d’armadura. Estes bellos baixos relevos
são de pura renascença, d’um estylo muito anterior ao frio
classicismo da capella-mór.
Alguns dos symbolos destoam da ideia christã, parecem
deslocados na ornamentação d’um altar-mór. É possivel que sejam
peças destinadas a outra obra d’arte, que foram aqui aproveitadas.
Nas duas capellas lateraes do cruzeiro de Santa Maria de Belem
(Jeronymos) ha uns lindos baixos relevos nos altares, pouco vistos,
que passam mesmo despercebidos porque teem luz escassa, que,
me parece, se relacionam com estes da Luz na qualidade da pedra,
e no estylo do trabalho. E no portico do poente, nos Jeronymos,
superiormente, ha duas pilastras que dizem com estas da Luz[1].
Os pintores da Luz
Filippe I (II de Hespanha) n’uma carta de 14 de março de 1583
chama a Francisco Venegas, meu pintor.
(Sousa Viterbo, Noticia de alguns pintores, Lisboa, 1903,
pag. 153).
D. Sebastião, em alvará de 6 de maio de 1577, diz: Diogo Teixeira
hum dos melhores pintores de imaginarya dolio que ha nestes
reynos.
(Ibidem, pag. 142).
Na collecção de desenhos expostos no Museu das Janellas
Verdes, os n.ᵒˢ 307 e 308 parecem-me representar as duas figuras
que estão em baixo relevo no altar-mór da Luz.
O desenho n.ᵒ 346 (Museu das Janellas Verdes) é de Venegas;
uma rubrica indica que é o projecto de um quadro para S. Vicente
de Fóra, e que se executou uma réplica, menor, para S. Domingos
de Setubal.
A collecção de desenhos do Museu das Janellas Verdes é muito
importante, e vista com attenção dá elementos unicos para a historia
da arte em Portugal. Ha mais collecções de desenhos em Portugal
em estabelecimentos publicos, e na posse de particulares, que insta
tornar conhecidas.
Creio que o n.ᵒ 268 é o esquisso do quadro da capella lateral, a
Circumcisão; architectura á romana; o sacerdote no faldistorio, etc.,
nem falta o cãosinho felpudo.