250 private links
La PEP 572 : Assignment Expressions is useful in the following examples :
-
avoiding inefficient comprehensions
foo = [y := f(x), y*y, y*y*y]
-
unnecessary variables in scope
for x in data: result = f(x) if result: foo.append(result) # Turned into results = [ result for x in data if (result := f(x)) ]
-
processing streams in chunks
while chunk := file.read(8192): process(chunk)
-
Avoiding unecessary lines
group = match.group(1) if (match := re.match(data)) else None
Avec ces arguments, l'opérateur semble être une bonne amélioration pour le langage
Le code est véritablement plus rapide une fois converti en C. C'est impressionant.
Coder en Cython ?
Dataclasses <3
Malin !
Et bien expliqué
J'y suis aussi passé à la galère des dépendances et de cette histoire de
pip install
vs python -m pip install
pour au final python -m pip install --user
.
Comme pour le mot de passe, plus c'est long plus c'est bon.
Plus on le sais tôt, mieux c'est.
En revanche, je ne connaissais pas black. Un outil à tester, qui n'autorise cependant pas à coder avec les pieds
Compatible Python 2 et 3.
Sous le coude
Une véritable explication de cette fonction, de ce qu'il y a derrière. Enfin (parce que je comprenais pas la documentation).
Finalement, super() n'est pas magique et est seulement du sucre syntaxique. Il est cependant vrai que pour obtenir le même résultat sans, il faut écrire du code complexe et pas très joli.
Cheatsheet assez complète sur les cas les plus récurrents en python