Python c'est fifou

Basiques

Types
  • string
  • int, float
  • lists:
    names = ["Scarlett Johansson", "Anne Hathaway", "Jessica Alba"]
  • tuples: collections immutables d'éléments séparés par une virgule et entouré de parenthèses
    tup = ('Checkers', 1945, 'Washington')
    print(tup)
  • sets: collections mutables d'objets separés par une virgule et entouré d'accollades ou de la fonction set
    my_set = set(['Checkers', 1945, 'Washington'])
    print(my_set)
  • dictionnaires: collections non ordonnées qui contiennent des paires de clés:valeurs pairs separés par une virgule et entouré d'accollades
    movies = {"Actresses": ["Scarlett Johansson", "Anne Hathaway", "Jessica Alba"], "Directors":  ["Sofia Coppola", "Nacho Vigalondo", "James Cameron"]}
Assignements et mémoire Chaque objet Python peut avoir un nom. Python a des optimisations internes, notamment avec les nombres entiers:
  • le même emplacement mémoire est utilisé pour les entiers en dessous de 256
  • num = 7 et num2 = 7 pointent vers le même emplacement mémoire
  • les valeurs none ou true (ou false) pointent vers le même emplacement mémoire
Multiples assignements en une ligne num,num2 = 7,2. Possible donc mais pas très lisible, faites attention.
Listes
names = ["Scarlett", "Anne", "Jessica"] 

for actress in actresses:
    print(actress)
Loops Mon Guide Python (en)
List comprehensions Une syntaxe agréable, compacte et lisible pour les listes et les boucles:
numbers = [n for n in range(112) if n%3 == 0]
print(numbers)
Cela existe aussi pour les sets et les dictionnaires.
Générateurs Mon guide sur les générateurs (en)
Astuces pros Mes astuces pros (en)
Erreurs et exceptions Lisez la documentation sur les exceptions. A connaître absolument !

Modules

Démarrer Les modules Python sont des fichiers contenant des fonctions réutilisables, un peu comme une boîte à outils. Le mot-clé import permet d'importer facilement des modules dans d'autres fichier Python, ce qui rend le code plus modulaire et plus facile à maintenir.

Lire la doc sur les modules

Imports Vous pouvez importer des modules natifs, des librairies tierces et même vos propres modules. Mon guide sur les imports (en)
itertools Un module essentiel à connaître : itertools. Cela permet de gérer les listes et les dictionnaires efficacement en optimisant l'utilisation de la mémoire.
Le module OS le module OS est utile pour gérer les répertoires et les fichiers.

Pip

pip est le gestionnaire de paquets pour Python. Vous pouvez télécharger des modules et des paquets.

Python pour le web

Django Django c'est la référence par excellence pour le web avec Python
Flask Flask bien plus minimaliste que Django. Je déconseille aux débutants mais les pros peuvent y trouver un intérêt.
Pyramid Pyramid est également moins complet que Django, avec certaines similarités notamment dans la gestion des vues.

Concepts avancés

Gérer le JSON
import json

data = {
    "fire": "starter"
}

with open("myfile.json", "w") as dest:
    json.dump(data, dest, indent="\t")
Expressions régulières Importez le paquet re
Args et kwargs Python a un opérateur nommé "splat" (*) qui est connu universellement utilisé comme l'opérateur de multiplication mais qui devient intéressant avec Python lorqu'il est placé devant une variable.
def straight_forward(func, *args, **kwargs):
    return func(*args, **kwargs)
La fonction ci-dessus permet de transférer n'importe quelle fonction quelque soit ses paramètres.
Fonctions Lambda Les fonctions Lambda sont des fonctions anonymes qui évaluent des expressions seulement :
def make_lambda(n):
return lambda a: a + n
Exécuter le code mais pas quand il est importé
if __name__ == "__main__":
# code

Machine learning

Python est un choix stratégique si vous voulez faire du machine learning, travailler la data de manière générale et suivre les tendances actuelles du marché :

La data est le nouveau pétrole

Et Python peut vous aider à construire votre propre pipeline.

Editeurs et logiciels

VS code Après avoir installé Python, vous pouvez l'exécuter dans Visual Studio code. L'éditeur peut installer des tonnes d'extensions pour vous faciliter la vie.
Pycharm Pycharm est probablement l'un des tous meilleurs logiciels. Il se suffit à lui-même quasiment.
Jupyter Jupyter supporte bon nombre de fonctionnalités et langages de programmation, notamment Python.