Let me tell you why it is impossible to truly master Python, but also show you how to get as close to it as possible.
This article compares the three main string formatting methods in Python and suggests which methods to use in each situation.
When you call a function in Python and give it some arguments... Are they passed by value? No! By reference? No! They're passed by assignment.
Este Pydon't mostra-te como usar as expressões condicionais de Python, a alternativa ao operador ternário em Python.
Este Pydon't ensina-te a usar os tipos de dados set
e frozenset
,
que servem para trabalhar com conjuntos em Python.
Neste Pydon't vais aprender a utilizar o REPL da melhor forma possível.
Neste Pydon't vou explicar-te como é que te poderás, eventualmente, tornar um mestre do Python.
Neste Pydon't vou discutir as coisas que é preciso ter em conta sempre que usamos nomes em Python.
Neste Pydon't vou falar do estilo do código e de ferramentas que te podem ajudar a manteres o teu código com um estilo consistente
Neste Pydon't, eu explico porque é que é importante tentarmos fazer pequenas melhorias incrementais ao nosso código, e dou dicas para facilitar esse processo.
Será que a elegância é uma característica importante de um programa de computador..?
Neste Pydon't vamos aprofundar os nossos conhecimentos sobre o atributo dunder __name__
.
O objetivo deste Pydon't é mostrar quais são as utilizações
do underscore _
em Python, e mostrar como o usar para escrever
código mais idiomático.
Neste Pydon't debruçamo-nos sobre a função reduce
,
que já fez parte dos built-ins da linguagem e que,
com a versão 3, foi movido para a biblioteca functools
.
Neste Pydon't exploramos a funcionalidade que os operadores
and
e or
têm de avaliar só um lado da expressão.
Esta funcionalidade tem algumas utilizações comuns muito expressivas.
Neste Pydon't concluímos a trilogia sobre fatias
em Python e vamos ver como estas funcionam internamente:
vamos falar sobre o tipo slice
e vamos ainda falar
sobre o método __getitem__
e os seus dois irmãos.
Neste artigo vamos apresentar os tópicos mais avançados relacionados com fatias em Python.
Neste artigo introduzimos “fatias” em Python e apresentamos algumas utilizações idiomáticas desta funcionalidade.
Um artigo curto com tudo o que precisas de saber sobre indexar sequências em Python.
Se precisas de aceder aos elementos de um iterador e aos seus índices,
já pensaste em usar enumerate
?
Neste artigo vamos falar de outra ferramenta fantástica que Python tem
para lidar com ciclos for
.
Os ciclos for
são importantíssimos na programação imperativa
e Python tem algumas ferramentas muito boas para trabalhar com ciclos.
Se queres atravessar várias estruturas paralelamente,
já pensaste usar a função zip
?
Correspondência estrutural é uma funcionalidade que vai ser introduzida
com Python 3.10 e o artigo anterior mostrou
como a usar; este artigo mostra quais são os casos em que o match
não é a melhor alternativa.
Correspondência estrutural é uma funcionalidade que vai ser introduzida
com Python 3.10, e este artigo mostra como a usar para
escrever código elegante com a instrução match
.
As comparações em Python podem ser encadeadas. Aprende as nuances desta funcionalidade de Python e, em particular, os casos a evitar tais como quando encadeias comparações que não estão alinhadas.
Usar atribuições estruturais tem o potencial de tornar o código bastante mais expressivo. Estas atribuições permitem melhorar a legibilidade do teu código e protegem-te contra alguns tipos de bugs. Aprender a usar esta ferramenta também é muito importante para conseguires aproveitar ao máximo a funcionalidade de execução condicional estrutural que vai ser lançada com o Python 3.10.
Recursão é uma técnica que é útil para qualquer programador, mas isso não significa que deves estar sempre a user recursão quando escreves código Python. Às vezes é melhor reescrever a recursão com ciclos, ou às vezes até repensar a tua solução por completo.
Todos os objetos em Python podem ser usados em expressões que deviam
resultar em valores Booleanos, tais como as condições de instruções
if
ou while
.
Há vários objetos que são Falsy (ou seja, que são interpretados
como False
) quando estão “vazios” ou quando “não têm valor”,
e caso contrário são Truthy (interpretados como True
).
Também podes definir este comportamento para os teus objetos
se implementares o método dunder __bool__
.
Os métodos str
e repr
do Python podem ser parecidos, mas não são iguais.
Usa str
sempre que precisares de representações bonitas de objetos e usa
repr
para depurares código.
Seguindo a mesma lógica, deves ter estes casos típicos de utilização em mente
quando as tuas classes implementam os métodos __str__
e __repr__
.
O "operador morsa" :=
pode ser bastante útil, mas se o usares de forma
errada vais acabar por piorar o teu código, em vez de o melhorares.
Usa :=
para tornar mais linear uma série de if
s ou para reutilizar
valores intermédios.
Em Python, se queres fazer uma operação que pode dar um erro, há muitas situações
em que "pedir desculpa é melhor que pedir permissão".
Isto significa que deves utilizar um bloco try
para capturar o erro, em vez de
usares um if
para impedir que o erro aconteça.
Como é que devemos "desempacotar" uma lista ou um tuplo, de modo a separar o primeiro elemento do resto? Ou de modo a separar o último elemento do resto? Não desempacotes com fatias, usa antes atribuições com um asterisco.
O “Zen of Python” é um conjunto de sugestões que são impressas no teu ecrã se
executares o código import this
.
Se nunca leste o Zen do Python vai lê-lo agora e relê-o de tempos
a tempos.
Para escreveres código que pareça ter sido escrito por alguém que domina
verdadeiramente Python tens de escrever código que segue
o Zen do Python.
"Pydon'ts" are short, to-the-point, meaningful Python programming tips. Pydon'ts will help you write more Pythonic code.