Skip to content

Commit ea72dd5

Browse files
committed
peqed
1 parent f9d94fa commit ea72dd5

File tree

3 files changed

+43
-16
lines changed

3 files changed

+43
-16
lines changed

glifos/cp1252_additions.py

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
#!/usr/bin/env python3
2+
3+
from unicodedata import name
4+
5+
RC = '\N{REPLACEMENT CHARACTER}'
6+
7+
def cp1252():
8+
start = 128
9+
span = 32
10+
print('## Characters in CP1252 but not in Latin-1')
11+
for i in range(start, start+span):
12+
try:
13+
char = bytes([i]).decode('cp1252')
14+
except UnicodeDecodeError:
15+
char = ' '
16+
code = ' ' * 6
17+
char_name = '_unused_'
18+
else:
19+
code = f'U+{ord(char):04X}'
20+
char_name = name(char)
21+
print(f'{i:X} {code} {char} {char_name}')
22+
23+
cp1252()

online/cap08.adoc

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -954,16 +954,16 @@ Compare a sintaxe antiga com a nova para a dica de tipo do parâmetro `plural` e
954954
955955
[source, python]
956956
----
957-
plural: Optional[str] = None # até Python 3.9
958-
plural: str | None = None # a partir do Python 3.10
957+
plural: Optional[str] = None # Python < 3.10
958+
plural: str | None = None # Python >= 3.10
959959
----
960960
961961
O operador `|` também funciona com `isinstance` e `issubclass` para declarar o segundo argumento: `isinstance(x, int | str)`.
962962
Para saber mais, veja https://fpy.li/pep604[PEP 604—Complementary syntax for Union&#91;&#93;] (EN).
963963
====
964964

965-
A assinatura da função nativa `ord` é um exemplo simples de `Union` - ela aceita `str` or `bytes`,
966-
e retorna um `int`:footnote:[Para ser mais preciso, `ord` só aceita `str` ou `bytes` com `len(s) == 1`.
965+
A assinatura da função nativa `ord` é um exemplo simples de `Union`: ela aceita `str` or `bytes`,
966+
e devolve um `int`.footnote:[Para ser mais preciso, `ord` só aceita `str` ou `bytes` com `len(s) == 1`.
967967
Mas no momento o sistema de tipagem não consegue expressar essa restrição.]
968968

969969
[source, python]
@@ -987,7 +987,7 @@ def parse_token(token: str) -> Union[str, float]:
987987
Se possível, evite criar funções com o tipo de retorno `Union`,
988988
pois isso exige um esforço extra do usuário:
989989
para saber o que fazer com o valor recebido da função pode ser necessário verificar o tipo daquele valor durante a execução.
990-
Mas a `parse_token` no código acima é um caso de uso razoável no contexto de interpretador de expressões simples.
990+
Mas a `parse_token` no código acima é um caso de uso justificado no contexto de interpretador de expressões simples.
991991

992992
[TIP]
993993
====
@@ -1017,7 +1017,8 @@ Union[A, B, C, D, E]
10171017
----
10181018

10191019
`Union` é mais útil com tipos que não sejam consistentes entre si.
1020-
Por exemplo: `Union[int, float]` é redundante, pois `int` é _consistente-com_ `float`. Se você usar apenas `float` para anotar o parâmetro, ele vai também aceitar valores `int`.
1020+
Por exemplo: `Union[int, float]` é redundante, pois `int` é _consistente-com_ `float`.
1021+
Se você usar apenas `float` para anotar o parâmetro, ele vai também aceitar valores `int`.
10211022

10221023

10231024
[[simple_collections_type_sec]]

vol1/cap08.adoc

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -962,24 +962,24 @@ Compare a sintaxe antiga com a nova para a dica de tipo do parâmetro `plural` e
962962
963963
[source, python]
964964
----
965-
plural: Optional[str] = None # até Python 3.9
966-
plural: str | None = None # a partir do Python 3.10
965+
plural: Optional[str] = None # Python < 3.10
966+
plural: str | None = None # Python >= 3.10
967967
----
968968
969969
O operador `|` também funciona com `isinstance` e `issubclass` para declarar o segundo argumento: `isinstance(x, int | str)`.
970970
Para saber mais, veja «_PEP 604—Complementary syntax for Union&#91;&#93;_» [.small]#&#91;fpy.li/pep604&#93;#.
971971
====
972972

973-
A assinatura da função nativa `ord` é um exemplo simples de `Union` - ela aceita `str` or `bytes`,
974-
e retorna um `int`:footnote:[Para ser mais preciso, `ord` só aceita `str` ou `bytes` com `len(s) == 1`.
973+
A assinatura da função nativa `ord` é um exemplo simples de `Union`: ela aceita `str` or `bytes`,
974+
e devolve um `int`.footnote:[Para ser mais preciso, `ord` só aceita `str` ou `bytes` com `len(s) == 1`.
975975
Mas no momento o sistema de tipagem não consegue expressar essa restrição.]
976976

977977
[source, python]
978978
----
979979
def ord(c: Union[str, bytes]) -> int: ...
980980
----
981981

982-
Veja a seguir um função que aceita uma `str`, mas pode retornar `str` ou `float`:
982+
Veja a seguir um função que aceita uma `str`, mas pode devolver `str` ou `float`:
983983

984984
<<<
985985
[source, python]
@@ -993,10 +993,12 @@ def parse_token(token: str) -> Union[str, float]:
993993
return token
994994
----
995995

996-
Se possível, evite criar funções com `Union` no tipo de retorno,
997-
pois isso exige um esforço extra do usuário:
998-
para saber o que fazer com o valor recebido da função pode ser necessário verificar o tipo daquele valor durante a execução.
999-
Mas a `parse_token` no código acima é um caso de uso razoável no contexto de interpretador de expressões simples.
996+
Se possível, evite criar funções com `Union` no tipo de
997+
retorno, pois isso exige um esforço extra do usuário:
998+
para saber o que fazer com o valor recebido da função pode ser
999+
necessário verificar o tipo daquele valor durante a execução.
1000+
Mas a `parse_token` no código acima é um caso de uso justificado
1001+
no contexto de interpretador de expressões simples.
10001002

10011003
[TIP]
10021004
====
@@ -1006,7 +1008,8 @@ Nesses casos, o tipo de retorno é determinado pelo tipo da entrada,
10061008
então `Union` não é uma solução precisa.
10071009
Para anotar tais funções corretamente,
10081010
precisamos usar uma variável de tipo—apresentada em
1009-
<<param_generics_typevar_sec>>—ou sobrecarga (_overloading_), que veremos na «Seção 15.2» [.small]#&#91;vol.2, fpy.li/5f&#93;#.
1011+
<<param_generics_typevar_sec>>—ou sobrecarga (_overloading_),
1012+
que veremos na «Seção 15.2» [.small]#&#91;vol.2, fpy.li/5f&#93;#.
10101013
====
10111014

10121015
`Union[]` exige pelo menos dois tipos.

0 commit comments

Comments
 (0)