Skip to content

Commit b63dfce

Browse files
committed
listagens coloridas
1 parent fda2cd2 commit b63dfce

39 files changed

+994
-993
lines changed

calango/pyproject.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ dependencies = [
1313

1414
[project.scripts]
1515
calango = "calango:main"
16+
farxrefs = "calango:xrefs"
1617

1718
[build-system]
1819
requires = ["hatchling"]

online/cap01.adoc

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,7 @@ simples, mas demonstra as possibilidades que se abrem com a implementação de a
134134
[[ex_pythonic_deck]]
135135
.Um baralho como uma sequência de cartas
136136
====
137-
[source, python3]
137+
[source, python]
138138
----
139139
include::../code/01-data-model/frenchdeck.py[]
140140
----
@@ -147,7 +147,7 @@ sem métodos próprios, como um registro de banco de dados.
147147
Neste exemplo, a utilizamos para fornecer uma boa representação textual para as cartas em um baralho,
148148
como mostra a sessão no console:
149149

150-
[source, pycon]
150+
[source, python]
151151
----
152152
>>> beer_card = Card('7', 'diamonds')
153153
>>> beer_card
@@ -161,7 +161,7 @@ uma instância de `FrenchDeck` responde à
161161
função((("len() function")))((("functions", "len() function"))) `len()`,
162162
devolvendo o número de cartas naquele baralho:
163163

164-
[source, pycon]
164+
[source, python]
165165
----
166166
>>> deck = FrenchDeck()
167167
>>> len(deck)
@@ -171,7 +171,7 @@ devolvendo o número de cartas naquele baralho:
171171
Ler cartas específicas do baralho é fácil, graças ao método `+__getitem__+`.
172172
Por exemplo, a primeira e a última carta:
173173

174-
[source, pycon]
174+
[source, python]
175175
----
176176
>>> deck[0]
177177
Card(rank='2', suit='spades')
@@ -183,7 +183,7 @@ Deveríamos criar um método para obter uma carta aleatória? Não é necessári
183183
Python((("random.choice function"))) já tem uma função que devolve um item aleatório de uma sequência: `random.choice`.
184184
Podemos usá-la em uma instância de `FrenchDeck`:
185185

186-
[source, pycon]
186+
[source, python]
187187
----
188188
>>> from random import choice
189189
>>> choice(deck)
@@ -211,7 +211,7 @@ nosso baralho suporta fatiamento automaticamente.
211211
Podemos olhar as três primeiras cartas no topo de um baralho,
212212
e depois pegar só os ases, iniciando com o índice 12 e pulando 13 cartas por vez:
213213

214-
[source, pycon]
214+
[source, python]
215215
----
216216
>>> deck[:3]
217217
[Card(rank='2', suit='spades'), Card(rank='3', suit='spades'),
@@ -224,7 +224,7 @@ Card(rank='A', suit='clubs'), Card(rank='A', suit='hearts')]
224224
E como já temos o método especial `+__getitem__+`, nosso baralho é um objeto iterável,
225225
ou seja, pode ser percorrido em um laço `for`:
226226

227-
[source, pycon]
227+
[source, python]
228228
----
229229
>>> for card in deck: # doctest: +ELLIPSIS
230230
... print(card)
@@ -236,7 +236,7 @@ Card(rank='4', suit='spades')
236236

237237
Também podemos iterar sobre o baralho na ordem inversa:
238238

239-
[source, pycon]
239+
[source, python]
240240
----
241241
>>> for card in reversed(deck): # doctest: +ELLIPSIS
242242
... print(card)
@@ -268,7 +268,7 @@ o operador `in` realiza uma busca sequencial.
268268
No nosso caso, `in` funciona com nossa classe `FrenchDeck` porque ela é iterável.
269269
Veja a seguir:
270270

271-
[source, pycon]
271+
[source, python]
272272
----
273273
>>> Card('Q', 'hearts') in deck
274274
True
@@ -282,7 +282,7 @@ na ordem espadas (o mais alto), copas, ouros e paus (o mais baixo).
282282
Aqui está uma função que ordena as cartas com essa regra,
283283
devolvendo `0` para o 2 de paus e `51` para o Ás de espadas.
284284

285-
[source, python3]
285+
[source, python]
286286
----
287287
suit_values = dict(spades=3, hearts=2, diamonds=1, clubs=0)
288288
@@ -293,7 +293,7 @@ def spades_high(card):
293293

294294
Podemos agora listar nosso baralho em ordem crescente de usando `spades_high` como critério de ordenação:
295295

296-
[source, pycon]
296+
[source, python]
297297
----
298298
>>> for card in sorted(deck, key=spades_high): # doctest: +ELLIPSIS
299299
... print(card)
@@ -402,7 +402,7 @@ Vamos começar a projetar a API para essa classe escrevendo uma sessão de conso
402402
que depois podemos usar como um doctest.
403403
O trecho a seguir testa a adição de vetores ilustrada na <<vectors_fig>>:
404404

405-
[source, pycon]
405+
[source, python]
406406
----
407407
>>> v1 = Vector(2, 4)
408408
>>> v2 = Vector(2, 1)
@@ -416,7 +416,7 @@ A((("abs built-in function")))((("functions", "abs built-in function"))) funçã
416416
devolve o valor absoluto de números inteiros e de ponto flutuante, e a magnitude de números `complex`.
417417
Então, por consistência, nossa API também usa `abs` para calcular a magnitude de um vetor:
418418

419-
[source, pycon]
419+
[source, python]
420420
----
421421
>>> v = Vector(3, 4)
422422
>>> abs(v)
@@ -427,7 +427,7 @@ Podemos((("&#x002A; (star) operator")))((("multiplication, scalar")))((("star (&
427427
também implementar o operador `*`, para realizar multiplicação escalar
428428
(isto é, multiplicar um vetor por um número para obter um novo vetor de mesma direção e magnitude multiplicada):
429429

430-
[source, pycon]
430+
[source, python]
431431
----
432432
>>> v * 3
433433
Vector(9, 12)
@@ -556,7 +556,7 @@ da documentação da _Biblioteca Padrão de Python_.
556556
====
557557
Essa é uma implementação mais rápida de `+Vector.__bool__+`:
558558
559-
[source, python3]
559+
[source, python]
560560
----
561561
def __bool__(self):
562562
return bool(self.x or self.y)

0 commit comments

Comments
 (0)