5. Codons le Mastermind ! Nous avons fait le tour des notions les plus essentielles pour commencer à programmer efficacement avec Tkinter grâce à nos articles précédents "Réaliser un Mastermind avec TKinter" Part 1 et Part 2. Il y a encore quelques notions ou...
Le Blog
Les collaborateurs d’Invivoo explorent et partagent leurs connaissances du domaines IT.
Réaliser un Mastermind avec Tkinter (Tk Python) – Part 2
Retrouvez la partie 1 de l'article ici : Tk Python. 3. Les gestionnaires de positionnement Il existe trois gestionnaires de positionnement (aussi appelés geometry managers en anglais) permettant de disposer les objets dans une fenêtre : pack (que nous avons vu...
Réaliser un Mastermind avec Tkinter (Python) – Part 1
Il existe plusieurs outils pour créer des interfaces graphiques en Python, parmi lesquels on peut citer par exemple Kivy, PyQt, wxPython et Tkinter, même s’il en existe bien d’autres. À l’exception de Kivy, tous ceux-ci sont des interfaces pour des bibliothèques...
Les dataclasses en python
Introduit en Python 3.7 à la suite du PEP 557, le mécanisme des dataclasses est une petite boîte à outils permettant de simplifier l’écriture de quelques éléments de base de la définition des classes, et ainsi d’améliorer leur lisibilité. Premier abord Ces...
Simplifiez votre code avec l’opérateur “Walrus”
Parmi les nouveautés apportées par la version 3.8 de Python, l’une des principales est l’apparition des expressions d’affectations. Grâce à un nouvel opérateur bien pratique appelé Walrus, il est désormais facile d’économiser quelques lignes de code dans plein de...
Appliquer le TDD avec pytest
Le TDD (Test Driven Development) est un process de développement logiciel qui consiste à faire évoluer un programme petit à petit à travers des mini-cycles : le développeur commence par implémenter un test automatique échoué représentant un cas d’utilisation...
Paradigme de programmation fonctionnel
Cet article sur le paradigme de programmation fonctionnel est le 3ème de notre série sur les paradigmes de programmation. N'hésitez pas à prendre connaissance des deux premiers articles : Paradigme de programmationParadigme Impératif Structuré Lambda-calcul, un...
Paradigme impératif structuré
Cet article sur le paradigme impératif structuré est la suite de l'article sur les Paradigmes de programmation. Quelques exemples Si le paradigme impératif structuré est pratiqué par les humains depuis très très longtemps… Dans les faits, on part d’un état initial....
Paradigme de programmation
Qu’est-ce qu’un paradigme ? C’est en effet une grande question : qu’est-ce qu’un paradigme de programmation ? Si on se base donc sur la définition du Larousse : « Un paradigme est — en épistémologie et dans les sciences humaines et sociales –...
Python et le GUI : wxPython
Beaucoup de personnes partent du principe que Python n’est qu’un langage de script et le cantonnent à l’automatisation des tâches. Grâce à des frameworks, on peut aussi s’en servir pour faire des clients lourds. Le module tkInter qui permet de faire des boîtes de...
Sonar Smash : comment guérir le code par le fun
Lors de la Devoxx 2019 se déroulant au Palais des Congrès de Paris, Helen Wallace, développeuse Java, et James Mac Mahon, spécialiste Devops son tout sourires sur la scène qui les élève au-dessus de la...
Slots : an unknown optimization
As a former C developer working in high-performance computing, I wondered very early about the compactness of objects that were commonly created in Python. It quickly became clear to me that this was not optimal in most cases, resulting from the choice of original...
Les slots, une optimisation méconnue
En tant qu’ancien développeur C travaillant dans le calcul hautes performances, je me suis très tôt posé la question de la compacité des objets que l’on créait ordinairement en Python. Il m’est apparu rapidement que celle-ci n’était pas optimale dans la plupart des...
Designer des APIs Rest avec Flask-RESTPlus
Flask est un microservice web qui permet entre autres d’implémenter des API REST. Mais lorsqu’il s’agit de les documenter, visualiser, contrôler et valider les schémas de données d’entrées et de sorties, Flask atteint vite ses limites. C’est ici qu’intervient son...
How to sort CSV files?
1. Context Twice during my career, I was given the project to compare two large CSV files (Comma Separated Values: text files corresponding to either an Excel file export or an export of database tables): In the first case, it was a comparison between trades entered...
Pandas : le datamanagement à la portée de toutes les mains
Pandas est un package python qui permet de traiter des jeux de données de manière efficace et compréhensible. De la lecture des fichiers à une première approche statistique. Pandas est le compagnon de jeu de n’importe quel datascientist pythonicien ! Pandas est...
Introduction to metaclasses
Python is a strongly object-oriented language and is becoming increasingly popular over the years. Lots of projects continuously emerge which size and complexity make them much more than just a bunch of scripts. Such projects make extensive usage of OOP, defining...
La migration de Python 2.X à Python 3.X
Depuis 2008, deux versions de Python coexistaient avec, pour chacune d’entre elles, son lot de défenseurs… Guido Van Rossum avait souhaité, avec la version 3.X, corriger certaines syntaxes qui limitaient l’évolution du langage. Python 3 a été conçu comme un vrai...
Comment trier des fichiers CSV ?
1. Contexte Deux fois au cours de ma carrière, on m'a donné le projet de comparer deux fichiers CSV de grande taille (Comma Separated Values : des fichiers textes correspondant soit à un export de fichier Excel soit un export de tables de bases de données) : Dans le...
The Sieve of Eratosthenes
1. Who is Eratosthenes? Eratosthenes of Cyrène was a Greek mathematician, geographer, poet, astronomer and music theorist. He was the chief librarian at the Library of Alexandria. He is commonly called the "father of geography". He is also the first person who made...
Introduction au type checking en Python avec mypy
Python est bien connu par sa flexibilité qui vient du fait d'adopter et de promouvoir le duck typing. Pour écrire du code vraiment pythonic, on ne se préoccupe pas vraiment des types des objets qu'on manipule, mais des méthodes et attributs dont il dispose et de leur...
Gestion d’environnements virtuels en Python
Les environnements virtuels sont un mécanisme très souvent utilisé pour la gestion de dépendances et isolation entre projets python développés dans une même machine. Ils sont aussi très souvent utilisés pour faire face à la fragmentation amenée par l'arrivée de Python...
À la vitesse du Python : les conteneurs associatifs
1 – Contexte Suite à mon premier article parlant des techniques d’optimisation, j’avais volontairement omis les conteneurs associatifs qui méritent un article spécifique : en effet, ils sont extrêmement utiles et utilisés. Connaitre leurs qualités et leurs...
À la vitesse du Python
Python est un langage compilé en bytecode dont le bytecode sera ensuite interprété. Si l’interpréteur est très efficace et que la plupart des bibliothèques sont écrites en C, il n’en reste pas moins que beaucoup d’opérations peuvent être plus lentes que si elles avaient compilé comme le C.
L’intérêt de se diversifier pour un développeur
Philippe Boulanger, Manager d'Expertise Python, nous parle de la nécessité pour un développeur de se confronter à des langages différents. Au cours de ma carrière, j’ai été confronté à des collègues ayant eu un apprentissage incomplet de l’informatique : leur...