La Programmation

Le guide ultime du débutant Python

30 octobre 2021

Table des matières

  • Configuration de l'environnement
    • Configuration de l'environnement local
    • Comment obtenir Python
    • Comment installer Python
    • Installation de Windows
    • Installation Unix/Linux
    • Installation MAC
    • Configuration de Path pour Python
    • Définition du chemin pour Unix/Linux
    • Définition du chemin pour Windows
  • Variables d'environnement Python
    • Exécuter Python
  • Syntaxe de base
    • Identificateurs Python
    • Déclaration Python
    • Indentations en Python
    • Commentaires en Python
    • Obtenir des commentaires
    • Afficher la sortie
  • Types de variables
    • Affectation de valeurs aux variables
    • Types de données Python
    • Cordes
    • Tuples
    • Listes
    • Nombres
  • Opérateurs de base
    • Opérateur d'assignation
    • Opérateur au niveau du bit
    • Opérateur logique
    • Opérateur arithmétique
    • Opérateur de comparaison
    • Opérateur d'identité
    • Opérateur d'adhésion
  • La prise de décision
    • Si déclaration
    • sinon
    • Imbriqué si
    • Si-elif-else-échelle
    • Raccourci si déclaration
    • Instruction if-else abrégée
  • Boucles
    • Pendant que la boucle
    • Pour la boucle
    • Boucles imbriquées
    • Instructions de contrôle de boucle
    • Continuer la déclaration
    • Déclaration de rupture
    • Déclaration de réussite
  • Nombres
    • Conversion de type de nombre
    • Fonctions de nombres aléatoires
    • Fonctions trigonométriques
    • Fonctions mathématiques
  • Cordes
    • Création d'une chaîne
    • Opérateurs spéciaux de chaîne
    • Opérateurs de formatage de chaîne
    • Caractères d'échappement
    • Méthodes de chaîne intégrées
  • Tuples
    • Accéder aux valeurs dans les tuples
    • Mise à jour des tuples
    • Opérateurs Tuple de base
    • Fonctions Tuple intégrées
    • Indexation et découpage
    • Suppression d'un tuple
  • Listes
    • Accéder aux valeurs dans les listes
    • Mise à jour des listes
    • Opérateurs de liste de base
    • Fonctions et méthodes de liste intégrées
    • Indexation et découpage
    • Supprimer l'élément Listes
  • dictionnaire
    • Création d'un dictionnaire
    • Ajouter des éléments dans un dictionnaire
    • Suppression d'éléments du dictionnaire
    • Méthodes du dictionnaire Python
  • Date et l'heure
    • Tuple de temps
    • Module de temps
    • Module Calendrier
  • Les fonctions
    • Comment définir une fonction
    • Appel d'une fonction
    • Passer par référence
    • Passer par valeur
    • Arguments de la fonction
    • Arguments de longueur variable
    • Arguments requis
    • Arguments par défaut
    • Arguments de mots clés
    • Fonctions anonymes
  • Modules
    • Déclaration d'importation
    • L'instruction from import
    • La déclaration d'importation *
    • Localisation des modules
    • Les fonctions locals() et globals()
    • Espaces de noms et portée
    • La fonction dir( )
    • La fonction recharge()
  • Fichiers E/S
    • Ouverture d'un dossier
    • Attributs d'objet de fichier
    • Fermeture d'un dossier
    • Avec déclaration
    • La méthode Write
    • La méthode de lecture
    • La méthode renommer()
    • La méthode remove()
    • Emplacement du fichier
  • Des exceptions
    • Qu'est-ce qu'une exception ?
    • Gérer une exception
    • Lever une exception
    • Liste des exceptions standard
    • Exceptions définies par l'utilisateur
    • Assertions en Python
  • Classes et objets
  • Programmation CGI
    • Navigation sur le Web
    • En-tête HTTP
    • Variables d'environnement CGI
    • Méthode GET
    • Méthode POST
    • Utilisation de cookies dans CGI
    • Comment ça marche?
  • Accès à la base de données MySQL
    • Création d'une table de base de données
    • INSÉRER Opération
    • LIRE Opération
    • Opération de mise à jour
    • Opération SUPPRIMER
    • Effectuer des transactions
    • Opération COMMIT
    • Opération ROLLBACK
    • Déconnexion de la base de données
    • Gestion des erreurs
  • Réseaux
    • Que sont les sockets ?
    • Le module de prise
    • Modules Internet Python
  • Envoi d'e-mail
    • Envoi d'un e-mail HTML avec Python
    • Envoi de pièces jointes par e-mail
  • Programmation multithread
    • Commencer un nouveau fil
    • Le module de filetage
    • Synchronisation des threads
    • File d'attente prioritaire multithread
  • Traitement XML
    • Qu'est-ce que XML ?
    • Architectures et API d'analyseurs XML
    • Analyse XML avec les API SAX
      • La méthode make_parser
      • La méthode d'analyse
      • La méthode parseString
  • Programmation de l'interface graphique
    • Widgets Tkinter
  • Gestion de la géométrie
  • Articles recommandés

Classes et objets

Python est un langage orienté objet depuis qu'il existe et à cause de cela, l'utilisation et la création de classes et d'objets sont devenues plus faciles. Ce chapitre vous aidera à devenir un expert dans l'utilisation du support de programmation orienté objet de Python.

Si vous n'avez pas assez de connaissances sur la programmation orientée objet, voici un petit quelque chose pour commencer.

    Classer− C'est un prototype défini par l'utilisateur pour un objet qui définit un ensemble d'attributs qui caractérisent tout objet de la classe. Les variables de classe et les variables et méthodes d'instance, accessibles via la notation par points.Objet− C'est une instance d'une structure de données définie par sa classe. Un objet comprend à la fois des variables de classe et des variables d'instance.Variable de classe− C'est la variable qui est partagée par toutes les instances d'une classe. La variable de classe est définie dans une classe mais en dehors de toutes les méthodes de classe. Les variables de classe ne sont pas utilisées comme variables d'instance fréquentes.Membre de données− c'est une variable d'instance qui contient les données associées à une classe et ses objets.Variable d'instance− C'est une variable qui est généralement définie à l'intérieur d'une méthode et qui appartient à l'instance courante de la classe.Surcharge de fonctions− L'affectation d'un ou plusieurs comportements à une fonction particulière. L'opération effectuée diffère selon les types d'objets ou d'arguments impliqués.Surcharge de l'opérateur− L'attribution d'une ou plusieurs fonctions à un opérateur particulier.Héritage− C'est le transfert des caractéristiques d'une classe à d'autres classes qui en sont dérivées.Méthode− C'est un type spécial de fonction qui est défini dans une définition de classe.

Création de classes

La classe crée une nouvelle définition de classe. Le nom d'une classe est suivi du mot clé class suivi de deux-points.

SYNTAXE

|__+_|
  • La classe consiste en une chaîne de documentation, accessible via ClassName.__doc__.
  • La classe_suite se compose des instructions de composant définissant les membres de la classe, les attributs de données et les fonctions.
image 617dd27284418

Objets de classe

L'objet est une instance d'une classe. Une classe est comme un plan alors qu'il s'agit d'une copie de la classe avec des valeurs réelles.

image 617dd272d3ac5

SORTIR

image 617dd273361bc

Accéder aux attributs

Vous pouvez accéder aux attributs de l'objet en utilisant l'opérateur point avec l'objet.

  • getattr(obj, name[, default]) - Il est utilisé pour accéder à l'attribut d'un objet.
  • hasattr(obj,name) - Il est utilisé pour vérifier si un attribut existe ou non.
  • setattr(obj,name,value) - Il est utilisé pour définir un attribut. Si un attribut n'existe pas, il sera créé.
  • delattr(obj, name) − Il est utilisé pour supprimer un attribut.

Attributs de classe intégrés

Chaque classe Python continue de suivre les attributs intégrés, et ils sont accessibles à l'aide de l'opérateur point comme tout autre attribut -

    __dict__− C'est le dictionnaire contenant l'espace de noms de la classe.__doc__− C'est la chaîne de documentation de la classe ou aucune, si elle n'est pas définie.__Nom__− Nom de la classe.__module__− C'est un nom de module dans lequel la classe est définie. Cet attribut est __main__ en mode interactif.__bases__− Un tuple vide qui contient la classe de base, dans l'ordre de leur occurrence dans la liste des classes de base.

Collecte des ordures

Python supprime automatiquement les objets pour libérer de l'espace mémoire. Le processus par lequel python récupère périodiquement des blocs de mémoire qui ne sont plus utilisés est appelé Garbage Collection.

Le ramasse-miettes de Python s'exécute pendant l'exécution du programme et se déclenche lorsque le nombre de références d'un objet atteint zéro.

Le nombre de références d'un objet augmente lorsqu'un nouveau nom lui est attribué ou lorsqu'il est placé dans un conteneur (liste, tuple ou dictionnaire). Le nombre de références de l'objet diminue lorsqu'il est supprimé avec du , sa référence est réaffectée ou sa référence sort de la portée. Lorsque le nombre de références d'un objet atteint zéro, Python le collecte automatiquement.

image 617dd273789c9

SORTIR

image 617dd273c29af

Héritage de classe

Vous pouvez également créer une classe en la dérivant d'une classe précédente en mentionnant la classe mère entre parenthèses après le nom de la nouvelle classe.

Une classe enfant peut hériter des attributs de sa classe parent et vous pouvez utiliser les fonctionnalités comme si elles étaient définies dans la classe enfant. Une classe enfant peut également remplacer les méthodes et les membres de données du parent.

SYNTAXE

|__+_|

Remplacer les méthodes

Vous pouvez remplacer vos méthodes de classe parent. La raison du remplacement des méthodes du parent est que vous souhaitez peut-être des fonctionnalités uniques ou différentes dans votre sous-classe. Voici quelques-unes des méthodes de surcharge de base.

Oui Non Méthode La description
un__repr__( soi )Représentation sous forme de chaîne évaluable
deux__del__( soi )Destructeur, supprime un objet
3__cmp__ ( soi, x )Comparaison d'objets
4__init__ ( soi [,args…] )Constructeur (avec tous les arguments optionnels)
5__str__( soi )Représentation sous forme de chaîne imprimable

Expressions régulières

Une expression régulière est une séquence unique de caractères qui vous aide à trouver ou à faire correspondre des ensembles de chaînes, en utilisant une syntaxe spéciale contenue dans un modèle. Les expressions régulières sont largement utilisées dans le monde UNIX.

Le module Python fournit une prise en charge complète des expressions régulières de type Perl en Python. Le module lève l'exception.

Fonction de correspondance

Il tente de faire correspondre le modèle RE à la chaîne avec des drapeaux facultatifs.

SYNTAXE

|__+_|
Oui Non Paramètre La description
undrapeauxIl spécifie différents drapeaux en utilisant OR au niveau du bit (|).
deuxschémaC'est une expression régulière à faire correspondre.
3chaîne de caractèresC'est la chaîne qui est recherchée pour correspondre au modèle au début de la chaîne.

Fonction de recherche

Il recherche la première occurrence du modèle RE dans la chaîne avec des drapeaux facultatifs.

SYNTAXE

|__+_|
Oui Non Paramètre La description
undrapeauxIl spécifie différents drapeaux en utilisant OR au niveau du bit (|).
deuxschémaC'est une expression régulière à faire correspondre.
3chaîne de caractèresC'est la chaîne qui est recherchée pour correspondre au modèle au début de la chaîne.

Modificateurs d'expression régulière

Oui Non Paramètre La description
unre.MIl fait correspondre $ à la fin d'une ligne et fait correspondre ^ au début de n'importe quelle ligne.
deuxre.LIl interprète les mots en fonction de la locale actuelle. L'interprétation affecte le groupe alphabétique ainsi que le comportement des limites de mots.
3re.UIl interprète les lettres selon le jeu de caractères Unicode. Le drapeau affecte le comportement de w, W, , B.
4re.XIl permet une syntaxe d'expression régulière plus mignonne. Il ignore les espaces et traite les # non échappés comme un marqueur de commentaire.
5re.SIl fait correspondre un point à n'importe quel caractère, y compris une nouvelle ligne.
6re.jeIl effectue une correspondance insensible à la casse.

Modèles d'expressions régulières

Oui Non Schéma La description
un.Il correspond au caractère unique à l'exception de la nouvelle ligne.
deuxun| bIl correspond à a ou b.
3[…]Il correspond au caractère unique entre parenthèses.
4[^…]Il correspond à un seul caractère non entre parenthèses
5$Il correspond à la fin de ligne.
6^Il correspond au début de ligne.
septré*Il correspond à 0 ou plusieurs occurrences de l'expression précédente.
8re+Il correspond à une ou plusieurs occurrences de l'expression précédente.
9ré?Il correspond à 0 ou 1 occurrence de l'expression précédente.
dixre{n}Il correspond exactement au nombre n d'occurrences de l'expression précédente.
Onzeré{ n, m}Elle correspond à au moins n et m occurrences de l'expression précédente.
12re{ n,}Il correspond à n occurrences ou plus de l'expression précédente.
13(ré)Il regroupe les expressions régulières et mémorise le texte correspondant.
14(?imx)Il bascule temporairement sur les options i, m ou x dans une expression régulière.
quinze(?imx : re)Il bascule temporairement sur les options i, m ou x entre parenthèses.
16? : ré)Il regroupe les expressions régulières sans se souvenir du texte correspondant.
17(?-imx)Il désactive temporairement les options i, m ou x dans une expression régulière.
18(?-imx : ré)Il désactive temporairement les options i, m ou x entre parenthèses.
19(?#…)Commenter.
vingt(?= ré)Il spécifie la position à l'aide d'un motif. Il n'a pas de portée.
vingt-et-un(?! re)Il spécifie la position en utilisant la négation du motif. il n'a pas de portée.
22(?> ré)Il correspond au modèle indépendant sans retour en arrière.
23DansIl correspond aux caractères des mots.
24DANSIl correspond à des caractères non verbaux.
25SIl correspond à des espaces non blancs.
26sIl correspond aux espaces blancs.
27Il correspond à des non-chiffres.
28 éIl correspond aux chiffres. Équivalent à [0-9].
29dixElle correspond à la nième sous-expression groupée si elle correspond déjà. Sinon, il fait référence à la représentation octale d'un code de caractère.
30ÀIl correspond au début de la chaîne.
31AVECIl correspond à la fin de la chaîne. Si une nouvelle ligne existe, elle correspond juste avant la nouvelle ligne.
32avecIl correspond à la fin de la chaîne.
33GIl correspond au point où le dernier match s'est terminé.
3. 4 , , etc...Il correspond aux nouvelles lignes, aux retours chariot, aux tabulations, etc.
35BIl correspond aux limites des non-mots.
361…9Il correspond à la nième sous-expression groupée.
37Il correspond à l'espacement arrière (0x08) lorsqu'il est entre parenthèses.

Classes de personnages

Oui Non Exemple La description
un[aïou]Il correspond à n'importe quelle voyelle minuscule
deux[0-9]Il correspond à n'importe quel chiffre ; identique à [0123456789]
3[Pp] ytonCela correspond à Python ou Python
4[a-z]Il correspond à n'importe quelle lettre ASCII minuscule
5frotter [vous]Il correspond à ruby ​​ou rube
6[^aeiou]Il correspond à autre chose qu'une voyelle minuscule
sept[^0-9]Il correspond à autre chose qu'un chiffre
8[a-zA-Z0-9]Il correspond à l'un des éléments ci-dessus
9[A-Z]Il correspond à n'importe quelle lettre ASCII majuscule
dix.Il correspond au caractère unique à l'exception de la nouvelle ligne.
OnzeDansIl correspond aux caractères des mots.
12DANSIl correspond à des caractères non verbaux.
13SIl correspond à des espaces non blancs.
14sIl correspond aux espaces blancs.
quinzeIl correspond à des non-chiffres.
16 éIl correspond aux chiffres. Équivalent à [0-9].

Cas de répétition

Oui Non Exemple La description
unrubis +Il correspond à rub plus 1 ou plusieurs oui
deuxrubis*Il correspond à rub plus 0 ou plus ys
3rubis?Il correspond à rub ou ruby ​​: le y est facultatif
4d{3}Il correspond exactement à 3 chiffres
5d{3,}Il correspond à 3 chiffres ou plus
6d{3,5}Il correspond à 3, 4 ou 5 chiffres

Ancres

Oui Non Exemple La description
unPythonIl correspond à Python à la fin d'une chaîne.
deuxPython$Il correspond à Python à la fin d'une chaîne ou d'une ligne.
3^ PythonIl correspond à Python au début d'une chaîne ou d'une ligne interne.
4 APythonIl correspond à Python au début d'une chaîne.
5Python(?=!)Il correspond à Python s'il est suivi d'un point d'exclamation.
6Python(?!!)Il correspond à Python, s'il n'est pas suivi d'un point d'exclamation.
septPythonIl correspond à Python à une limite de mot.