python
Table des matières
Python
Shebang : #!/usr/bin/python3
Concepts de POO
- Classe : Forme de type de donnée (comme str). Elle permet de définir des fonctions et variables propres au type. Elle sert notamment à faire des objets
- Objet : Structure de données permettant de contenir des variables et fonctions
- Méthode : Fonction définie dans une classe. On appelle une méthode d'un objet grâce à objet.methode(). Ex : machainedecaracteres.lower()
Environnements virtuels
- Installer Virtualenv :
pip3 install virtualenv
- Créer un venv :
virtualenv venv
- Rentrer dans un venv :
source venv/bin/activate
- Installer des paquets précis dans le venv :
pip3 install -r requirements.txt
- Sortir du venv :
deactivate
- Se remettre dans un venv créé : retourner dans le dossier et faire virtualenv reactivate
Fonctions utiles
Nom | Fonction | Usage | Note |
---|---|---|---|
attrgetter | Trier une liste d'objets | Appeler la fonction avec le paramètre sur lequel se base le tri. Ex : sorted(liste_gens, key=attrgetter(“age”)) | Nécessite d'importer le module operator (from operator import attrgetter). Tri les int par ordre croissant et les str par ordre alphabétique |
dir | Voir les méthodes constituant un objet | dir(mon_objet) | |
input | Entrer une valeur | age = input('Entrez votre age : ') | |
itemgetter | Trier une liste de tuples | Appeler la fonction avec le paramètre sur lequel se base le tri. Ex : sorted(etudiants, key=itemgetter(2)) | Nécessite d'importer le module operator (from operator import itemgetter). Tri les int par ordre croissant et les str par ordre alphabétique |
Fonctions lambda
>>> f = lambda x: x * x >>> f(5) 25
Méthodes
repr : Permet de définir comment représenter un objet.
Exemple :
class Personne(object): """Individu lambda.""" prenom = None nom = None age = 0 membres_crees = 0 def __init__(self, nom, prenom, age): self.nom = nom self.prenom = prenom self.age = int(age) Personne.membres_crees += 1 def __repr__(self): return "- Personne: {}, {}, agée de {}".format(self.nom, self.prenom, self.age)
Modules
Il est possible de créer des modules contenant des fonctions et de les importer dans un fichier principal.
Exemple Fichier de module multi.py :
#!/usr/bin/python3 def table(nb): i = 0 while i < 10: print(i + 1, "*", nb, "=", (i + 1) * nb) i += 1 def div(nb): i = 0 while i < 10: print(nb, "/", i + 1, "=", nb /(i + 1)) i += 1
Fichier principal main.py :
#!/usr/bin/python3 from multi import * # Importation de toutes les variables et fonctions du module multi nb = int(input('Entrez le nombre : ')) div(nb) # Ici on importe que la fonction div
Exceptions
Exemple d'exceptions :
- NameError: Variable non définie
- TypeError: Opération faite sur une variable qui n'est pas du bon type. Comme faire une divisions sur une variable de type string.
- ZeroDivisionError: Division par zéro
Exemple :
try: resultat = numerateur / denominateur except NameError: print("La variable numerateur ou denominateur n'a pas été définie.") except TypeError: print("La variable numerateur ou denominateur possède un type incompatible avec la division.") except ZeroDivisionError: print("La variable denominateur est égale à 0.")
Docs & sources
python.txt · Dernière modification : de Administrateur