Développer en Python

Environnement de développement et démarrage

Installation de l'environnement d'éxécution de python

Télécharger et installer python : https://www.python.org/downloads/.

Rédaction

Syntaxe

snake_case

N’oubliez pas que les noms de variables sont sensibles à la casse.

en anglais, les virgules deviennent des points !

Commentaires

Les commentaires à ligne unique sont indiqués par # avant et après. La phrase juste en-dessous est un commentaire à ligne unique à propos d’une méthode.

#ceci est un commentaire
Les commentaires à lignes multiples sont entourés de trois guillemets """ :

"""
Ceci est un
commentaire à lignes multiples
"""

Style

Le guide de style officiel pour le code Python est un document appelé PEP 8 (ressource en anglais). Il contient des règles et des bonnes pratiques qui aident à standardiser l’écriture en Python par les développeurs.
https://www.python.org/dev/peps/pep-0008/

Spaces are the preferred indentation method.

Tabs should be used solely to remain consistent with code that is already indented with tabs.

Python disallows mixing tabs and spaces for indentation.

Limit all lines to a maximum of 79 characters. For flowing long blocks of text with fewer structural restrictions (docstrings or comments), the line length should be limited to 72 characters.

The preferred way of wrapping long lines is by using Python's implied line continuation inside parentheses, brackets and braces. Long lines can be broken over multiple lines by wrapping expressions in parentheses. These should be used in preference to using a backslash for line continuation.

Surround top-level function and class definitions with two blank lines.

Method definitions inside a class are surrounded by a single blank line.
Code in the core Python distribution should always use UTF-8, and should not have an encoding declaration.

https://www.python.org/dev/peps/pep-0020/

Instructions Conditionnelles

if True:
    print("ok allons y")
else:
    print("nope")

opérateurs logiques :

and: vérifie si deux conditions sont toutes les deux vraies.

or: vérifie si au moins une condition est vraie.

not: vérifie si une condition n’est pas vraie (c’est-à-dire fausse). 

xpressions comparatives vous permettent de comparer différentes expressions entre elles et d’évaluer si une expression est vraie ou fausse.

Si vous avez deux valeurs, a et b, vous pouvez utiliser les opérateurs de comparaison suivants dans Python : 

Égal à : a  ==  b
Non égal à : a  !=  b
Moins que : a  <  b
Moins que ou égal à : a  <=  b
Plus que : a  >  b
Plus que ou égal à : a  >=  b 

Après une instruction if, tout le code qui suit doit être indenté, c’est-à-dire qu’il doit être décalé par rapport à la marge. Sinon Python ne fait pas la différence entre l’instruction et le code à exécuter.

Les Boucles

La boucle forest le type de boucle centrale dans Python. Une boucle  for  est utilisée pour itérer sur une séquence. Ça peut être une liste, un tuple, un dictionnaire ou même une chaîne de caractères. 

categories_nft = ["fantasy", "art", "gaming", "metaverse"]
for category in categories_nft:
    print(category)

Pour boucler un certain nombre de fois, vous pouvez utiliser la fonction range(). Elle renverra une séquence de nombres qui vont de 0 à un nombre de fin déterminé.

On peut saisir un nombre dans la fonctionrange()et qu’elle renvoie une séquence de nombres allant de 0 à ce nombre moins un.

for x in range(5):
    print(x)

for x in range(100):
    print(f"{x} nft(s) dans la collection !")

Les accolades{} ci-dessus prennent n’importe quelle valeur dans la variable  x  et la remplace (n’oubliez pas le  “f”au début de la string qui signifie format). Donc dans cet exemple, le code va afficher :

0 nft(s) dans la collection !
1 nft(s) dans la collection !
99 nft(s) dans la collection !

La fonction  range()  est réglée sur 0 par défaut pour la valeur de début. Vous pouvez la modifier en ajoutant un autre nombre entier comme ça :  range(4, 10) !

Cette plage renvoie les valeurs de 4 à 9 (sans inclure 10).

La boucle while

La boucle  for  vous permet d’exécuter du code un nombre spécifique de fois, alors que la boucle whilecontinue de s’exécuter jusqu’à ce qu’une certaine condition soit remplie.  

L’extrait de code ci-dessous vérifie la capacité actuelle et l’augmente d’une unité jusqu’à ce que la capacité maximale soit atteinte (+= 1augmente la valeur actuelle de 1).

capacite_maximale = 10
capacite_actuelle = 3
while capacite_actuelle < capacite_maximale:
    capacite_actuelle += 1
 Comme cette  capacite_actuelle  commence à 3, ce code s’exécute 7 fois jusqu’à ce que  capacite_actuelle  atteigne 10.

Les Fonctions

Une fonction est un ensemble d’instructions répétables. Vous la définissez avec le mot-clé def, le nom de la fonction, des parenthèses et deux-points:. Si la fonction a besoin d’un paramètre ou plus, il faut les saisir à l’intérieur des parenthèses, séparés par des virgules. Admettons que vous voulez ajouter deux nombres ensemble. L’extrait de code ci-dessous est une méthode add()qui prend deux nombres comme paramètres et renvoie la somme. 

def add(a, b):
    return a + b

Maintenant que vous connaissez les fonctions, vous pouvez les appeler en y saisissant des valeurs en tant que paramètres. Ces valeurs sont appelées arguments. La fonction renverra les valeurs ajoutées ensemble. 

>> add(1,3)
4
>> add(403,123)
526

Les Packages

Voici quelques exemples de packages populaires et leurs fonctions :

Requests: un package HTTP élégant et simple pour Python. Fréquemment utilisé pour les appels d’interface REST. 

Beautiful Soup (ressource anglais) : un package pour récupérer des données de fichiers HTML et XML.  

Pandas (ressource anglais) : un outil open source rapide, puissant et accessible pour l’analyse et la manipulation de données. 

Installez les packages avec Pip
Pip est un gestionnaire de packages Python.

Pour installer un package avec pip dans votre terminal, utilisez la méthode suivante :

pip install <nom-du-package>
Pour voir les packages déjà installés, vous pouvez écrire le code qui suit :

pip freeze

Importez les packages dans votre code
Pour importer une fonctionnalité du package dans votre code, utilisez le mot-clé  import  

Par exemple, pour importer le package Requests entier, vous devez d’abord installer Requests avec votre terminal en utilisant  pip install requests

Après, pour appeler la fonction get()dans le package Requests, écrivez :

requests.get()
Si vous voulez importer une seule fonction appelée get à partir du package Requests, écrivez ceci :

from requests import get
Maintenant vous n’avez plus besoin d’écrire requests avant get()parce que la méthode elle-même a déjà été importée.

There are three different things here.

beautifulsoup4 is the name of the package.
bs4 is the name of the module.
BeautifulSoup is the name of a function that is a member of the module.

A package can contain more than one module, so it trivially follows that the module name is not always necessarily the same as the package. Usually they're the same, but that's not always the case. Here it was done as part of the version 4 upgrade to allow people to have both version 4 and version 3 installed at the same time to allow an upgrade path. In version 3, the package name and module name were both simply BeautifulSoup. (And BeautifulSoup was also a function in the module BeautifulSoup.) By changing those, they become separate packages in the eyes of Python, rather than different versions of the same package.

Manipulation de fichiers

import csv

# Ecrivez le code ci-dessous. Utilisez le package csv !
cra = open('input.csv', 'r', newline='')
reader = csv.DictReader(cra)

row_headers = ['nom', 'salaire']

with open('output.csv', 'w', newline='') as salaires:
    writer = csv.DictWriter(salaires, fieldnames=row_headers)
    writer.writeheader()

    for employee in reader:
        writer.writerow({'nom': employee['nom'], 'salaire': int(employee['heures_travaillees']) * 15})

cra.close()



Chargez des données avec les fonctions intégrées de Python
Pour lire et écrire un fichier, vous pouvez utiliser la fonction intégrée  open()  , qui requiert deux paramètres : le nom du fichier et le mode. 

Nom du fichier : le chemin d’accès au fichier que vous voulez lire ou dans lequel vous voulez écrire.

Mode : le mode que vous voulez utiliser pour le fichier. Les options principales sont :

Lire :  "r"
Écrire (écraser) :  "w"
Continuer d’écrire :  "a"
Lire et écrire (écraser) :  "r+"
b : format binaire

Pour créer un nouveau fichier appelé « bonjour.txt » et y écrire « Hello, world! », utilisez le code ci-dessous :

fichier = open("hello.txt", "w")
fichier.write("Hello, world!")
fichier.close()

Vous pouvez aussi utiliser l’instruction with pour fermer automatiquement le fichier à la fin du bloc :

with open("file.txt") as fichier:
   for ligne in fichier:
      # faire quelque chose avec une ligne
      print(ligne)

le mode d’ouverture par défaut est la lecture ou  "r"  !

Le package CSV
La méthode  open()  peut lire et écrire sur les fichiers .txt et .csv, mais vous pouvez aussi utiliser le package CSV de Python pour lire et écrire dans les fichiers CSV. Ce package offre plus de fonctionnalités.

La documentation officielle de Python sur le format CSV explique que le package CSV « vous permet de dire « écris ces données dans le format préféré par Excel » ou « lis les données de ce fichier généré par Excel », sans connaître les détails précis du format CSV utilisé par Excel. »

Quand vous utilisez le package CSV, vous devez aussi utiliser la fonction  open()  pour ouvrir le fichier. Vous pouvez ensuite utiliser les méthodes  reader()  ou  writer()  sur le fichier pour le lire ou y écrire.

Lisez les fichiers externes
Commençons avec la lecture des fichiers externes. Disons que vous avez un fichier CSV nommé couleurs_preferees.csv qui ressemble à ça : 

nom,metier,couleur_preferee
Jacob Smith,Ingénieur en informatique,Violet
Nora Scheffer,Stratégiste numérique,Bleu
Emily Adams,Responsable marketing,Orange

La méthode  .reader()  va prendre tout le texte dans un CSV, le parser ligne par ligne et convertir chaque ligne dans une liste de chaînes. Vous pouvez utiliser différents délimiteurs pour décider de la manière de séparer chaque colonne, mais le séparateur le plus commun est une virgule. L’extrait de code ci-dessous lit le fichier CSV et affiche chaque ligne.

import csv

with open('couleurs_preferees.csv') as fichier_csv:
   reader = csv.reader(fichier_csv, delimiter=',')
   for ligne in reader:
      print(ligne)

Le résultat sera comme ceci :

['nom', 'metier', 'couleur_preferee']
['Jacob Smith', 'Ingénieur en informatique', 'Violet']
['Nora Scheffer', 'Stratégiste numérique', 'Bleu']
['Emily Adams', 'Responsable marketing', 'Orange']

Bien que cette approche peut être utile parfois, la ligne d’en-tête est considérée comme la même que les autres. Une méthode plus utile pour lire les fichiers CSV, tout en reconnaissant les en-têtes pour identifier les colonnes, est la méthode DictReader()  . Cette méthode sait que la première ligne est un en-tête et sauvegarde les autres lignes en tant que dictionnaires. Chaque clé est un nom de colonne et la valeur est la valeur de la colonne.

Le code ci-dessous montre comment utiliser la méthode DictReader().

import csv

with open('couleurs_preferees.csv') as fichier_csv:
   reader = csv.DictReader(fichier_csv, delimiter=',')
   for ligne in reader:
      print(ligne['nom'] + " travaille en tant que " + ligne['metier'] + " et sa couleur préférée est " + ligne['couleur_preferee'])
Le résultat affichera :

Jacob Smith travaille en tant que Ingénieur en informatique et sa couleur préférée est Violet
Nora Scheffer travaille en tant que Stratégiste numérique et sa couleur préférée est Bleu
Emily Adams travaille en tant que Responsable marketing et sa couleur préférée est Orange

Commentaires

Posts les plus consultés de ce blog

Sécurité des Applications

Principes de la Programmation Orientée Objet

Principe de Responsabilité Unique