Wiki adminsys - Cebador.fr

Wiki d'administration systèmes et réseaux.
Simples notes personnelles et non réelle documentation exhaustive.
Donc désolé pour les coquilles et les inexactitudes.
Doc sous licence GNU FDL 1.3

Outils pour utilisateurs

Outils du site


python

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

  1. Installer Virtualenv :
    pip3 install virtualenv
  2. Créer un venv :
    virtualenv venv
  3. Rentrer dans un venv :
    source venv/bin/activate
  4. Installer des paquets précis dans le venv :
    pip3 install -r requirements.txt
  5. Sortir du venv :
    deactivate
  6. 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.")

https://openclassrooms.com/fr/courses/235344-apprenez-a-programmer-en-python/231688-gerez-les-exceptions

Docs & sources

python.txt · Dernière modification : de Administrateur