Archives de
Category: Python Intermédiaire

Structure et utilisation d’une classe en Python

Structure et utilisation d’une classe en Python

Il faut tout d’abord définir la classe qui va servir de base pour créer des objets. Cette classe est en quelque sorte une catégorie d’objets qui en définit les caractéristiques et les comportements. Nous allons modéliser ces objets dans cette classe, leur donner des attributs (des données liées à ces objets), leur donner des comportements (des méthodes suivies de code permettant de traiter ces données ou toute autre chose dont nous avons besoin comme par exemple des fonctions builtins du…

Lire la suite Lire la suite

Le module graphique tkinter : création d’un menu de logiciel

Le module graphique tkinter : création d’un menu de logiciel

Concevons l’architecture de notre menu de logiciel : Un menu classique, standard avec les intitulés « Fichier » et « Edition » + un pop-up d’informations sous l’intitulé « A propos ». Le logiciel (fenêtre) étant un prétexte pour construire ce menu, toutes les fonctions attachées aux items du menu n’exécutent aucun bloc de code. C’est pourquoi, chacune d’entre elles est affublée du mot-clé « pass » permettant finalement de ne rien faire et de se concentrer sur l’ergonomie de ce menu. Seules les fonctionnalités permettant de quitter…

Lire la suite Lire la suite

Le module graphique tkinter : création de la première fenêtre

Le module graphique tkinter : création de la première fenêtre

Script « tkinter_01.py » # du module tkinter j’importe tout from tkinter import * # je déclare un objet « fenetre » de la classe tkinter fenetre = Tk () # la mention « title » apparaîtra dans le haut de ma fenêtre fenetre.title (« Je teste tkinter ») # cette fenêtre aura pour dimensions 300 pixels sur 150 pixels fenetre.geometry (« 300×150 ») # le fond de ma fenêtre sera de couleur rouge fenetre.config (bg = « red ») # la fenêtre reste présente en boucle (loop) en attente d’un événement…

Lire la suite Lire la suite

Classe mère et classe fille – Héritage

Classe mère et classe fille – Héritage

Script : import string class Alphabet_majuscules (object): # classe mère def __init__(self): self.lettres = string.ascii_uppercase # équivalent à une chaîne reprenant tout l’alphabet avec la méthode upper () class Alphabet_minuscules (Alphabet_majuscules): # classe fille def __init__(self): Alphabet_majuscules.__init__(self) self.lettres = self.lettres.lower () Exécution : >>> test = Alphabet_majuscules () >>> test.lettres ‘ABCDEFGHIJKLMNOPQRSTUVWXYZ’ >>> test2 = Alphabet_minuscules () >>> test2.lettres ‘abcdefghijklmnopqrstuvwxyz’ >>> Commentaires : class Alphabet_majuscules (object): vous construisez votre classe mère comme une classe normale et ordinaire ! self.lettres = string.ascii_uppercase importation…

Lire la suite Lire la suite

Les attributs de classe statiques (!= des attributs d’objets)

Les attributs de classe statiques (!= des attributs d’objets)

class Carte_a_jouer (): valeurs = (None, None, 2, 3, 4, 5, 6, 7, 8, 9, 10, « Valet », « Dame », « Roi », « As ») couleurs = (« Coeur », »Carreau », »Trèfle », »Pique ») # None : Déclaration de la valeur sans valeur, les cartes 0 et 1 n’existant pas # les attributs statiques « valeurs » et « couleurs » sont déclarés à l’extérieur du constructeur # ils ne sont pas des attributs d’objet mais des attributs de classe !!!!!!! def __init__ (self,val,coul): self.valeur = val self.couleur = coul def affiche_carte (self): print (Carte_a_jouer.valeurs[self.valeur],…

Lire la suite Lire la suite

Importation d’un module et d’une classe que l’on vient de créer

Importation d’un module et d’une classe que l’on vient de créer

Considérons le script suivant « trois_classe.py » : class Exemple3 (object): def __init__ (self, long=45,larg=23): self.longueur = long self.largeur = larg def aire (self): print (« L’aire de ce rectangle est de « , self.longueur, »X »,self.largeur, »= »,self.longueur*self.largeur) Si nous exécutons ce script tout de suite, cela fonctionnera. Toutefois , dans la pratique, le script principal ne contient pas de classes ou de fonctions. Il se contente d’importer ces classes et ces fonctions depuis des scripts qu’il considère alors comme des modules. Par tradition, le script principal…

Lire la suite Lire la suite

Création d’une classe avec paramètres et valeurs par défaut

Création d’une classe avec paramètres et valeurs par défaut

Script « trois_classe.py » : class Exemple3 (object): def __init__ (self, long=45,larg=23): self.longueur = long self.largeur = larg def aire (self): print (« L’aire de ce rectangle est de « , self.longueur, »X »,self.largeur, »= »,self.longueur*self.largeur) Exécution : >>> forme3 = Exemple3 () >>> forme3.longueur 45 >>> forme3.largeur 23 >>> forme3.aire () L’aire de ce rectangle est de 45 X 23 = 1035 >>> forme3 = Exemple3 (98,56) >>> forme3.longueur 98 >>> forme3.largeur 56 >>> forme3.aire () L’aire de ce rectangle est de 98 X 56 = 5488…

Lire la suite Lire la suite

Création d’une classe avec paramètres dans le constructeur

Création d’une classe avec paramètres dans le constructeur

Script « deux_classe.py » : class Exemple2 (object): def __init__ (self, long,larg): self.longueur = long self.largeur = larg def aire (self): print (« L’aire de ce rectangle est de « , self.longueur, »X »,self.largeur, »= »,self.longueur*self.largeur) Exécution : >>> forme2 = Exemple2 (54,18) >>> forme2.longueur 54 >>> forme2.largeur 18 >>> forme2.aire () L’aire de ce rectangle est de 54 X 18 = 972 >>> def __init__ (self, long,larg): nous avons introduit deux arguments ou paramètres dans le constructeur de cette classe afin de définir les valeurs des deux…

Lire la suite Lire la suite

Création d’une classe, attributs et méthodes

Création d’une classe, attributs et méthodes

Comme vous devez le savoir maintenant, en programmation Python, tout est objet ! Un objet a des attributs et des méthodes définis dans une classe. Les attributs représentent les variables attachées à cet objet et le caractérisent. Les méthodes définissent les comportements de cet objet. Reprenos tout d’abord l’exemple d’une classe d’objets intégrée « str », la classe des chaînes de caractères (strings): >>> b = « hello » >>> type (b) <class ‘str’> >>> b.upper () ‘HELLO’ >>> b = « hello » Nous déclarons…

Lire la suite Lire la suite

Parcours de dictionnaire par les clés, les valeurs et les deux

Parcours de dictionnaire par les clés, les valeurs et les deux

>>> epicerie ={« tomates »:5, »cerises »:45, »poires »:8, »oranges »:23} >>> epicerie.keys () dict_keys([‘poires’, ‘tomates’, ‘oranges’, ‘cerises’]) >>> epicerie.values () dict_values([8, 5, 23, 45]) Parcours de dictionnaire : >>> for cle in epicerie : print (cle) poires tomates oranges cerises >>> for cle in epicerie.keys ( ) : print (cle) poires tomates oranges cerises >>> for valeur in epicerie.values ( ): print (valeur) 8 5 23 45 >>> for cle,valeur in epicerie.items ( ) : print (« Il reste {} {} ».format (valeur, cle)) Il reste 8 poires Il…

Lire la suite Lire la suite