Dad 3.0

C'est un papa du futur avec son appareil photo

Étiquette : Python Page 1 of 2

Slicing : des tranches en Python

Il y a quelques jours, dans l’article vous montrant comment inverser une chaine de caractères en Python, j’ai utilisé le slicing. C’est un outil indispensable en Python qui permet de découper une séquence (liste, chaine de caractères ou tuple).

Le slicing a une syntaxe particulière et surtout un comportement déroutant : la borne supérieure est exclue. Je vais dans cet article vous expliquer pourquoi Guido Van Rossum a choisi ce comportement et vous illustrer ceci par un exemple.

Lire la suite

Inverser une chaine de caractères en Python

Oulàlà… Il y a quelques jours, en regardant les stats pour Dad 3.0, je vois qu’une recherche qui a conduit ici était « fonction miroir python ». Je sais que cette recherche a conduit à l’article concernant le Mir:ror, article qui date mais dont le code est encore intéressant.

J’ai tout de même fait ma recherche sur Google et j’ai pu voir que ce qui était recherché était l’inversion de chaine de caractères. C’est à dire que d’une chaine « abc », on souhaite obtenir « cba ». Ok. Mais les articles qui ressortent en tête sont juste une catastrophe oO

Alors allons-y pour la manière la plus propre en Python.

Lire la suite

Créer un jeu en Python

Ce qu’il y a de bien avec les vacances d’été, c’est que cela donne un peu de temps pour sortir de sa routine. Et justement, cela faisait quelque temps que je voulais explorer les possibilités qu’offre Python pour le jeu vidéo.

Créer un jeu vidéo, ce n’est pas simplement programmer des règles de jeu et créer de belles illustrations en pixel-art. C’est des concepts à connaitre pour afficher son jeu et gérer les actions du joueur. Il existe des bibliothèques qui vont nous aider pour cela. L’outil de référence dans ce domaine dans le monde Python est Pygame.

Mais… Ce qui m’a le plus motivé à m’intéresser à Pygame, c’est la lecture des revues The MagPi et Wireframe. Ces publications proches de la fondation Raspberry Pi sont évidemment orientées éducation. Du coup, leurs exemples ne sont pas à base de Pygame mais de Pygame Zero. Pygame Zero repose sur Pygame (ce dernier reste donc indispensable) et se propose de simplifier la création de jeux en comparaison avec Pygame. Et bien j’ai profité d’un peu de temps libre pour m’y mettre et voir ça.

Lire la suite

Une tortue en Python

Dans les années 60, naissait le projet Logo. Celui-ci était avant tout une philosophie de l’éducation mais pour beaucoup, c’était avant tout cet outil d’initiation à la programmation, Turtle.

Par beaucoup d’aspects, Turtle est l’ancêtre de Hour of Code (ou qui a inspiré Hour of Code). Le principe est, par des instructions simples, de déplacer une tortue et lui faire tracer son chemin. Le rendu visuel permet évidemment d’enseigner un langage aux plus néophytes.

Python se veut un langage simple à apprendre et mettre en œuvre, il reste peu évident pour les plus jeunes. Mais l’installation standard propose une version de turtle que je vais vous présenter ici. L’idéal pour débuter avec Python.

Lire la suite

Raspberry Pi : suivre la température en Python

Il est temps que je vous parle un peu plus du Raspberry Pi. La première question que l’on se pose lorsqu’on commence à l’utiliser est : est-ce qu’il surchauffe ? Bon, en fait, il y en a plein d’autres avant celle-ci si vous n’êtes pas un nerd invétéré, mais cette question va se poser à un moment ou à un autre. Un Raspberry Pi est un ordinateur peu puissant et certaines tâches qui paraissent banales sur un iMac Pro à 18 cœurs le feront chauffer très vite.

Le Raspberry Pi a bien une sonde sur son processeur, mais le système ne propose pas de joli interface graphique pour le suivi de cette température. De toutes manières, ce n’est pas observer la température qui est intéressant mais réagir lorsqu’elle dépasser un seuil. Il nous faut donc gérer cela de manière automatique. Et vous allez voir que c’est assez simple.

Lire la suite

Organiser ses tests unitaires

Après avoir essayé de démystifier les tests dans le premier billet de cette série, je vous propose de commencer à organiser votre code de test. Oui, oui, il faut l’organiser un minimum.

Vous avez vu qu’un premier principe de l’organisation des tests est de séparer le code de test du code fonctionnel. Ça, ça va aller, c’est facile à mettre en œuvre. Mais organiser son code de test signifie aussi savoir quoi mettre dans un test. Pour cela, je vais commencer par vous présenter ce concept de test unitaire. Ensuite, il faudra avoir un aperçu des frameworks plus standard que pytest.

Lire la suite

Testez le comportement de votre code et non son implémentation

Mon premier billet sur les tests présente le concept et comment, avec peu d’effort, vous pouvez améliorer la validation que vous faites déjà. Mais le code présenté a des défauts et celui sur lequel je souhaite insister en premier relève de la question de quoi tester. En particulier pour le langage Python qui a une manière particulière de gérer la visibilité des attributs.

Notez que si l’exemple présenté ici repose sur une particularité du langage Python, le concept s’applique à tous les langages.

Lire la suite

De la validation aux tests

Une particularité du langage Python est qu’il ne se limite pas au monde des développeurs. Pour l’écrasante majorité de mes stagiaires, écrire un programme n’est pas leur activité principale mais doit les aider dans leur métier. Inutile de dire que tout ce qui a un rapport à la production de code doit aller à l’essentiel.

Du coup, il y a une partie qui provoque toujours la même réaction de lassitude : les tests. Cette réaction d’intérêt mitigé vient du fait qu’ils ne codent que des scripts à usage limité pour lesquels l’investissement à la compréhension de ce que sont les tests et la démarche ne semble pas nécessaire. C’est certainement le cas aussi pour tous ceux qui n’écrivent pas du code à usage professionnel.

Vous vous doutez bien que si j’écris ce billet, c’est que la vision du test n’est pas tout à fait exacte et résulte d’une incompréhension de l’objectif du test dit de développeur. Je vous invite donc à lire le billet suivant afin d’essayer de comprendre ce qu’est un test, car vous en faites déjà… ou presque.

Lire la suite

Nouvelles formations 2018

Il y a toujours une période dans l’année où je laisse l’activité du blog être dépassée par une partie de ma vie professionnelle. Cette partie, c’est la formation. Depuis un peu plus de 2 ans, j’anime régulièrement des formations professionnelles sur le langage Python. L’animation de ces formations ne prends théoriquement pas plus de temps qu’une activité professionnelle classique, sinon que l’animateur n’a pas réellement de coupure : pendant les pauses, nous sommes sollicités pour des questions, il est donc difficile de prévoir du temps pour autre chose.

Mais une formation ne s’arrête pas à son animation. Il y a tout un travail en amont de préparation aussi bien du déroulement de l’enseignement que des exercices. Même si un centre de formation propose un programme, l’animation du contenu par chaque formateur est unique.

Et pour ma part, à la fin de chaque session, j’essaye d’avoir un retour des stagiaires pour voir ce qui passe ou ne passe pas. Si ma formation Python est rodée, j’ai bien mis un an à la retravailler après chaque session. Et même aujourd’hui, je revois certaines parties afin d’améliorer le déroulement ou les exercices.

Cette année, j’ai été sollicité sur deux autres sujets que je vais pouvoir proposer de façon régulière.

Lire la suite

Ranger ses photos, en Python

Dans mon article précédent, pour renommer nos photos en Python, je vous ai montré comment obtenir la date de prise de vue et nous avons utilisé cette information pour renommer le fichier. Puisque nous avons cette information, si j’en profitais pour vous montrer comment ranger automatiquement des photos ?

Comme pour le billet précédent, je ne rentre pas dans tous les détails pour l’écriture d’un programme complet car l’ensemble dépend de ce que vous voulez faire. Vous avez tout de même un exemple d’usage sur mon Github.

Ce billet vous donnera des pistes pour créer un petit programme qui rangera automatiquement vos photos. Ici, vous allez donc voir comment déplacer chaque photo dans un répertoire année.

Lire la suite

Page 1 of 2

Fièrement propulsé par WordPress & Thème par Anders Norén

En naviguant sur Dad 3.0, vous acceptez l’utilisation de cookies pour une navigation optimale et nous permettre de réaliser des statistiques de visites. Plus d'informations

Le blog Dad 3.0 utilise les cookies pour vous permettre une navigation optimale et nous permettre de réaliser des statistiques de visite. Dad 3.0 affichant des publicités, celles-si utilisent également des cookies pour un ciblage publicitaire. En continuant la navigation sur Dad 3.0, vous acceptez le dépôt et la lecture de cookies.

Fermer