Show Menu
Cheatography

Python Cheat Sheet (DRAFT) by

Lignes de commandes pour le lancement de python dans un shell, PIP, environnements virtuels...

This is a draft cheat sheet. It is a work in progress and is not finished yet.

Ligne de commande

Lancer python
python
Sortir de python
CTRL+Z­+ENTER
Connaitre la version
python --v
Lancer un programme python
python <no­m_d­u_p­rog­ram­me.p­y>

PIP (Package Manager)

Connaitre la version de PIP
pip --version
Instal­lation d'un paquet (dernière version)
pip install <pa­kag­e>
Désins­tal­lation d'un paquet
pip uninstall <pa­cka­ge>
Lister les packages
pip list
Lister les paquets (format requir­eme­nts.txt)
pip freeze
Inform­ations sur un paquet (notamment les dépend­ances)
pip show <pa­cka­ge(­s)>
pip show requests numpy pandas
Instal­lation d'une version d'un paquet
pip install <pa­kag­e>=­=ma­jor.mi­nor.patch
pip install reques­ts=­=2.1.0
Instal­lation d'une version d'un paquet (au sein d'une major)
pip install <pa­kag­e>~­=ma­jor.minor
pip install reques­ts~=2.2
Instal­lation d'une version d'un paquet (au sein d'une minor)
pip install <pa­kag­e>~­=ma­jor.mi­nor.patch
pip install reques­ts~­=2.1.0
nstall­ation de la dernière version d'un paquet au delà d'une version
pip install <pa­kag­e>>­maj­or.m­in­or.p­atch
pip install reques­ts>­2.5.0
Instal­lation de la dernière version d'un paquet entre 2 versions
pip install "­<pa­kag­e>>­maj­or.m­in­or.p­at­ch,­<ma­jor.mi­nor.pa­tch­"
pip install "­req­ues­ts>­2.4.0,­<2.6.0­"
Suppre­ssion de tous les paquets
pip freeze > requir­eme­nts.txt
pip uninstall -r requir­eme­nts.txt -y

Import des paquets

Import d'un paquet
import <pa­cka­ge>
import numpy
Import d'un paquet (décon­seillé pour les conflits)
from <pa­cka­ge> import *
from numpy import *
Import d'un paquet avec alias
import <pa­cka­ge> as <al­ias>
import numpy as np
Import d'un module
import <mo­dul­e>
import os
Import d'une fonction d'un module
from <mo­dul­e> import <fo­nct­ion>
from os import getcwd
Lister les modules
help('­mod­ules')
Aide d'un module
python -m <mo­dul­e> --help
python -m venv --help
Un module est du code exécutable et les défini­tions de classe­/fo­nction contenus dans un fichier Python unique.
Un paquet (ou package) est une collection de modules regroupés logiqu­ement dans un répertoire et partageant un fichier de config­uration (__ini­t__.py)

Enviro­nnement virtuel

Aide du module venv
python -m venv --help
Création d'un enviro­nnement virtuel
python -m venv <en­vir­onment name>
Activation de l'envi­ron­nement virtuel (shell Windows)
<en­vir­onment name>­\Scr­ipt­s\a­cti­vat­e.bat
Sortir de l'envi­ron­nement virtuel
deactivate
Le module venv est disponible à partir de la version 3.3

Liens (copy)

Tests unitaires

Exemple de méthode à tester
def to_abs­olu­te(­num­ber):
"­"­"
Return the absolute value
:param number: Initial number
:return: The absolute value
"­"­"
if number <= 0:
return -number
return number
Ecriture d'un doctest
def to_abs­olu­te(­num­ber):
"­"­"
>>> to_abs­olu­te(3)
3
"­"­"
if number <= 0:
return -number
return number
Lancement d'un doctest
python -m doctest <nom du fichie­r>
Lancement d'un doctest (avec traces)
python -m doctest -v <nom du module>
Librairie Pytest / Instal­lation
pip install -U pytest
Librairie Pytest / Implém­ent­ation d'un test dans une classe test.py
from source import revers­e_str
def test_s­hou­ld_­rev­ers­e_s­tri­ng():
assert revers­e_s­tr(­'abc') == 'cba'
Librairie Pytest / Lancement de la classe de test
pytest test.py
Librairie Pytest / Lancement de la classe de test en mode verbeux
pytest -v test.py
Librairie Pytest / Lancement d'une méthode de la classe de test
pytest -v test.p­y::­tes­t_s­hou­ld_­rev­ers­e_s­tring
Librairie Pytest / Lancement des classes de test commençant ou terminant par test
pytest

Progra­mmation orientée objet

Nom de Classe / Convention
Nom de classe avec majuscule. Si plusieurs mots:C­api­tal­ize­dCase
Variable / Convention
Nom de variable en minuscule. Indent­ation supplé­men­taire de 4 espaces.
Méthode/ Convention
Nom de méthode en minuscule séparés par des traits de soulig­nement. Indent­ation supplé­men­taire de 4 espaces.
Constr­ucteur / Convention
Nom en minuscule, commencent et se terminent par deux unders­cores (ou « dunders »).
Classe Python
class Rectangle:
width = 3
height = 2
def calculate_area(self):
return self.width * self.height
Constr­ucteur (__ini­t__):
class Carre:
length=0
def __init__(self,length):
self.l­eng­th=­length
Constr­ucteur (__ini­t__): avec initia­lis­ation de variable
class Carre:
length=0
def __init__(self,length=5):
self.l­eng­th=­length
Constr­ucteur (__ini­t__): avec paramètre optionnel
class Carre:
length=0
def __init__(self,length=5,color="red"):
self.length=length
self.color=color
Instan­ciation d'un objet (sans paramètre optionnel)
car=Ca­rre(2)
ou car=Ca­rre­(le­ngth=2)
Instan­ciation d'un objet (avec paramètre optionnel)
car2=C­arr­e(1­,"bl­ue")
car3=C­arr­e(3­,co­lor­="gr­een­")
Accéder à un attribut de l'objet (ici pour l'impr­imer)
print(­car­2.c­olor)
Modifier un attribut d'objet (l'uti­lis­ation d'une méthode , ici change­_le­ngth() est consei­llée)
car2.l­ength=5
Attribut d'instance
class Bird::
def __init__(self)::
self.wings = 2:
Attribut de classe
class Bird:
names = ("mo­uet­te", "­pig­eon­", "­moi­nea­u", "hirrondelle")
positions = {}
def __init­__(­self, name):
self.p­osition = 1, 2
Méthode de classe
@classmethod
def find_b­ird­(cls, position):
if position in cls.positions:
return f"On a trouvé un {cls.p­osi­tio­ns[­pos­ition]} !"
return "On a rien trouvé..."­
Accéder à une méthode d'un objet
area = car2.c­alc­ula­te_­area()
Méthode Statique
class Bird:
@staticmethod
def get_de­fin­iti­on(­):{nl}}
Méthode vide (implé­men­tation à faire ultéri­eur­emen)
def empty_­met­hod­(self, length):
pass
Héritage
class Film:
[...]
class FilmCa­sse­tte­(Film):
Appeler une méthode de la classe parente
super()
Exemple: super(­)._­_in­it_­_(name)
Exception. Levée
message = (f"This Function only supports halving even numbers. Received: {numbe­r}" )
raise Except­ion­(me­ssage)
Exception. Gestion
try:
return (after­_value / initia­l_v­alue) * 100
except ZeroDi­vis­ion­Error:
return 0
except Exception as error:
print(­"Uh oh, unexpected error occurr­ed!­")
raise error