386 private links
De explications claires et précises comme on les aime.
Vraiment très bien écrit <3
On peut faire pleins de choses avec les générateurs en python.
Quelques exemples pertinents dans ces vidéos.
Propre.
La recommandation est de créer un bloc impl pour les méthodes et un autre pour les fonctions liées à la structure. Cela afin de bien les séparer.
Une méthode prend en paramètre un référence à l'objet (généralement &self, il s'agit ici d'un emprunt car on veut généralement continuer à utiliser l'objet après l'appel à la méthode).
Une fonction liée à la structure ne prend pas de référence, elle est indépendante.
Une explication claire et précise en français sur les concepts de base du langage
Un raccourci bien pratique lors de la création de structures; surtout lorsqu'on y est habitué avec JS et TS
Ok, faire du ray tracing dans Calc.
Mais. C'est. Formidable
Il suffisait d'une seule recherche !
Rendre les requêtes asynchrone <3
Et dire qu'un projet m'avait fait lancer 400 000 requêtes bloquantes sur le web !
Python <3
EDIT : c'était la version légère.
Pour une meilleure utilisation, IOHTTP serait préférable
Quelques mots de vocabulaire définis dans cette conférence :
- Future: calculation that hasn't happened yet
- Is Probably gonna happen at some point
- Just keep asking
- Event Loop: runtime for Futures
- Keeps polling Future until it is ready
- Runs your code whenever it can be run
- Zero cost abstractions: no discernible* runtime overhead = code that you can't write better by hand (abstraction layers disappear at compile time)
Très bien décrit !
Des variables, des portées et des clôtures...
Les débuts d'un framework qui utilise le typage dynamique en python.
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_VALUEIl à l'air complet.
Sous le coude
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