Archives mensuelles : avril 2020

Mémo Python

OPERATEURS :

2 * 2 : Multiplication
2 ** 3 : Puissance 3
2 / 1 : Division
3 // 2 : Garde la partie entière de la division
3 % 2 : Modulo
min()
max()
abs()

————————————————

STRINGS (Immutable) :

chaine[0] : Premiere lettre
chaine[:5] : Du debut à 5 (non compris)
chaine[2:10:2] : Caracteres du 2e au 10e par interval de 2
chaine[::-1] : Chaine en ordre inverse
malettre * 10 : Chaine avec 10 instances de la lettre
maChaine.upper() : Tout en majuscules
‘Ma chaine avec %s et avec %s’ %(‘chaine a inserer’,’deuxieme chaine’) : Ancienne methode de remplacement
‘Ma chaine avec {} et avec {}’.format(‘chaine a inserer’,’deuxieme chaine’) : Remplaces les accolades par la valeur
‘Ma chaine avec {1} et avec {0}’.format(‘chaine a inserer’,’deuxieme chaine’) : Remplacement ordonné
‘Ma chaine avec {a} et avec {b}’.format(a=’chaine a inserer’,b=’deuxieme chaine’) : Remplacement ordonné
print(‘{0:8} | {1:9}’.format(‘Apples’, 3.)) : Formattage colonnes fixes de 8 caractères puis 9 caractères (aligner des totaux)
f’ma chaine avec comme nom {nom}’ : remplacement par sa valeur
f’ma chaine avec comme nom {nom!r}’ : remplacement par la representation de sa valeur
f’le prix est de {num:{10}.{6}}’ : formattage d’un decimal avec l’espace réservé et le nombre de décimales
‘le prix est de {0:10.4f} ».format(num)) : formattage d’un decimal avec l’espace réservé et le nombre de décimales

————————————————

LISTS (Mutable) :

maListe = [‘chaine’,23,12.4,’o’] : Liste avec des types differents
len(maListe) : Nombre d’éléments
maListe[0] : Premier element
maListe[-1] : Dernier element
maListe[:3] : Tout jusqu’au 3e element (non compris)
maListe + [‘Un autre element’] : Ajout d’un element
maListe + autreListe : Concatenation de listes
maListe * 2 : Double les elements de la liste
maListe.append(‘un element’) : Ajout d’un element
maListe.pop(0) : Supprime le 1er element
maListe.reverse() : retourne la liste
maListe.sort() : Tri de la liste
listePremieresLettres = [item[0] for item in maListe] : Liste avec la premiere lettre de chaque item
‘ ‘.join(maListe) : Transforme la listeen String avec un espace entre les elements

DICTIONNARYS (Mutable) :

monDico = {} : Dico vide
monDico = {‘cle1′:’valeur1′,’cle2′:’valeur2’}
monDico[‘cle’] = ‘valeur’ : Ajout d’un element
monDico[‘cle1’] : Valeur
monDico[‘cle2’][0] : 1er element de la valeur si c’est une liste
monDico.keys() : liste avec les cles
monDico.values() : Liste des valeurs
monDico.items() : Liste de tuples des cle/valeurs

TUPLES (Immutable) :

monTuple(1,2,3) : Creation Tuple
monTuple[0] : Element a l’index 0
monTuple[-1] : Dernier element
monTuple.index(‘Element’) : Retourne l’index d’un element
monTuple.count(‘Element’) : Compte le nombre d’occurences

SETS (Valeurs uniques) :

monSet = set() : Creation du set
monSet.add(‘Element’) : Ajout d’un element
set(maListe) : Transforme une liste en set donc supprime les doublons

————————————————

FILES :

monFichier = open(‘fichier.txt’)
monFichier.read() : Lecture du contenu du fichier
monFichier.seek(0) : Place le curseur à la position 0 (Rembobiner)
monFichier.readlines() : Liste des lignes du fichier
monFichier.close() : fermeture du fichier
monFichier = open(‘fichier.txt’, ‘w’) : Ouverture en écriture
monFichier = open(‘fichier.txt’, ‘w+’) : Ouverture en lecture/écriture
monFichier.write(‘\nUne ligne’) : Ecrit une ligne dans le fichier grace au caractère de saut de ligne sinon entrée simple
for ligne in open(‘fichier.txt’): Parcourir un fichier ligne par ligne

————————————————

METHODS FUNCTIONS :

def maMethode(): : Definition d’une methode
def maMethode(monParam) : Methode avec un parametre
def maMethode(monParam=’Toto’) : Methode avec un parametre avec valeur par defaut
 »’ : Debut et fin de documentation dans la methode
def maFonction(*args) : Parametre d’entrée de type Tuple de longeur indefinie
def maFonction(**kwargs) : Parametre d’entrée de type dico
def maFonction(*args, **kwargs) : prend en parametre un Tuple delongeur indefinie et un dico

————————————————

LOOPS :

for in: itere sur une collection
break : sort de la boucle
else: Execute du code si on est jamais passé par le break

————————————————

LAMBDA :

map(maFonction, maListe) : Applique une fonction sur chaque element de la liste
filter(maFonctionBooleenne, maListe) : Applique une fonction booleenne sur chaque element de la liste
list(map(fonction, liste)) : Applique une fonction sur une liste et transforme le résultat en liste
square = lambda num: num**2 : Cree une fonction anonyme « square » qui pour chaque element retourne son carré.
list(map(lambda num: num**2, maListe)) : Applique une fonction Lambda (a usage unique) sur une liste et retourne une liste
list(filter(lambda num: num%2 == 0, maListe)) : Applique une fonction lambda sur une liste et retourne une liste

————————————————

SCOPE :

global maVariable : Importe une variable globale a l’interieur d’une fonction pour pouvoir eventuellement la modifier (EVITER !)

————————————————

Programmation objet :

class MaClasse(): Creation de la classe
def __init__(self, monParametre) : Constructeur qui prend en parametre l’instance (automatique) et un parametre
self.monParametre = monParametre : Assigne la valeur du parametre à un attribut
def maMethode(self) : Declare une methode dans la class sans parametres. Self est passé par défaut
def maMethode(self, unParametre) : Declare une methode dans la class avec un parametre
Attributs de classe toujours avant le constructeur
Methodes toujours apres le constructeur
MaClasse.maConstante : Permet d’appeller une constante de la classe. Equivaut a self.maConstante mais en valorisant le fait que ce soir une constante
del maClasse : Supprime une instance de classe

Heritage :

class Dog(Animal) : Class Dog qui hérite de Animal. Nécessite l’appel du constructeur de Animal
def __init__(self):
Animal.__init__(self)
Override : Il suffit de réimplenter la methode avec le même nom

Polymorphisme :

Classe abstraite : Implemente des methode qui lèvent une exception forcant l’implementation du code dans la sous classe
La classe qui hérite de la classe abstraite n’implemente pas de nouveau constucteur si pas nécessaire mais refefinie les methodes

Special methods :

__str__ : Est appelé quand on veut afficher un string de notre objet. Doit être réimplanté
__len__ : Pour recuperer la longeur de notre objet si nécessaire
__del__ : Pour gérer la suppression de l’objet

Packages utiles :

Colorama : Ajoute de la couleur dans la ligne de commandes

Packages :
from MonPackage.MonSousPackage import MonModule : Permet d’importer un module dans un autre module en repectant l’arborescence des dossiers.
if __name__ == ‘__main__’: Execute du code directement sans être référencé par un module (Correspond a une classe main)