300 private links
De l'initialisation du programme à la compilation
Un guide sur les descriptors (data descriptors, non-data descriptors)
J'avais noté pleins de petits détails pratique.
À cause d'une erreur de token entre le serveur Shaarli et l'extension Firefox (j'ai ouvert pleins de petites fenêtres Shaarli)... Tant pis :)
Les slides sont abordables :D
Les débuts d'un framework qui utilise le typage dynamique en python.
Des slides sur les bonnes pratiques à avoir en python
Les slides de la présentation de Dabid Beazley : Python 3 Metaprogramming; lors de la PyCon'2013
Mind blowing :D
En prenant l'exemple de la fonction la plus simple du monde :
# Fonction nommée
def foo(x):
return x
# Fonction anonyme (ou simplement lambda)
bar = lambda x: x
Le bytecode généré en python est identique.
2 0 LOAD_FAST 0 (x)
2 RETURN_VALUELes différentes simulations montrent que jouer avec son argent au casino conduit à le perdre à long terme.
Les exemples de code présentés sont en python <3 mais 2.7 :'(
Programmation concurrente en python avec asyncio <3
Un moyen d'effectuer une simple énumération est la suivante :
class Animal:
DOG, CAT, BEE, ANT = range(4)
ce n'est pas safe (Animal.DOG == 0 return True, ...) mais ça fait bien le café pour clarifier des scripts :)
<3 python
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