background preloader

Python

Facebook Twitter

Les articles pour apprendre Python, dans le bon ordre :-) Ceci n’est pas un cours complet et cohérent sur “apprendre à programmer avec Python”.

Les articles pour apprendre Python, dans le bon ordre :-)

Pour ça voyez plutôt le site du zéro ou le livre gratuit de Swinnen. Ceci est une compilation de tous les cours et tutos du blog, filtrés, et ordonnés de manière cohérente. C’est bordélique, y a des trous partout, mais il y a aussi des connaissances que vous ne trouverez nulle part ailleurs aussi bien expliquées qu’ici. Ce qu’il faut savoir Aller plus loin Les outils autour de Python Cookbook Les exercices Passage à Python 3 Culture générale autour de Python. State machine en Python en l’absence d’algos récursifs bénéficiant de tail call optimisation. Ca c’est un titre qui en jette !

State machine en Python en l’absence d’algos récursifs bénéficiant de tail call optimisation

Faut dire que je tiens du maître Sokal himself. Donc, vulgarisons un peu. Ca sera un article bien prise de tête. Lisez-le un dimanche soir quand vous ne captez pas arte (et si vous ne pigez rien, c’est pas grave, revenez dans un an, moi je le fais bien avec tous les articles d’Alex Martelli). Un appel récursif, c’est une fonction qui s’appelle elle-même. Def fonction_recursive(): print "Je suis récursive, fuck yeah ! " Et sa sortie va ressembler à ça: >>> fonction_recursive() Je suis récursive, fuck yeah ! Un peu comme une boucle infinie: while True: print "Je suis récursive, fuck yeah !

" Car la fonction s’appelle elle même indéfiniement. Les boucles infinies peuvent être utiles, mais en Python, les récursions infinies sont vachement craignos, parcequ’elles aboutissent toujours à ce message d’erreur: RuntimeError: maximum recursion depth exceeded Du coup, en Python, quand on fait du récursif, on est obligé de faire une condition de sortie, du genre: Sept petites libs qui changent la vie d’un dev Python. Toutes ces libs sont, bien entendu, installables avec pip. begins optparse est deprecated, argparse est imbuvable et sys.argv limité.

Sept petites libs qui changent la vie d’un dev Python

Avant de vous tirer une balle dans la tête au moment de parser les arguments passés à votre script : Et voilà, définir des paramètres est aussi simple qu’écrire une fonction : Votre programme accepte maintenant --argument-obligatoire et --argument-optionnel qui seront automatiquement passés à la fonction. . $ python script.py --help usage: script.py [-h] [--argument-optionnel ARGUMENT_OPTIONNEL] ARGUMENT_OBLIGATOIRE La docstring est transformée en message d'usage. positional arguments: ARGUMENT_OBLIGATOIRE optional arguments: -h, --help show this help message and exit --argument-optionnel ARGUMENT_OPTIONNEL, -a ARGUMENT_OPTIONNEL (default: valeur_par_defaut) On peut faire bien plus avec begins : caster les arguments, créer des subcommandes, etc. arrow Contrairement à Max, j’adore la gestion des dates en Python. Pip install arrow Et hop : Ouai. Requests Bottle Peewee. (Très) Grand listing des libs tierce partie les plus utiles en Python.

FizzBuzz en Python. Le FizzBuzz est un type de test qui a été rendu populaire par Imran Ghory et ayant pour but de gagner du temps dans l’embauche de développeurs.

FizzBuzz en Python

Son constat est alarmant : une grande majorité des gens qui venaient aux entretiens pour un poste de programmeur, diplôme / CV / beau discours à l’appui, ne savaient pas… programmer. Il faut dire que c’est tellement facile de trouver un job pour dev. Ayant l’impression de perdre son temps, il a créé des exercices simples, qui sont facilement solvables sans stress par n’importe quel programmeur digne de ce ce nom en quelques minutes. À sa surprise, 90 % des candidats s’y cassent les dents, ce qui lui permet de ne passer du temps qu’avec le reste. Fais tourner le FizzBuzz Exemple d’un énoncé : Écrire un programme qui affiche les nombres de 1 à 199.

Voici ce que ça donne si vous le faites en entretien pour du Python en quelques minutes histoire de pouvoir passer à la suite : S’amuser un peu Et : C’est blindé d’astuces. >>> 15 % 50>>> not 15 % 5True.