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
etnum2 = 7
pointent vers le même emplacement mémoire- les valeurs
none
outrue
(oufalse
) 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)
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.
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 PythonFlask
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 reArgs 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)
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.