python_cheat_sheet
Table of Contents
Python Cheat Sheet
Ceci est un recueil de précisions syntaxiques utiles à l'écriture d'un script banal. (Ni exhaustif, ni explicatif)
Entête (script)
- Shebang
#!/usr/bin/env python
- Encodage
# -*- coding: utf-8 -*-
- Commentaire
#
- Import
import nom_module
ou
from sys import argv
NB: cette deuxième manière évite d'avoir à retapper le nom du module en permanence
- Arguments (passés au script)
- Argv: (nécessite l'import du module
sys
)argument_1=sys.argv[1]
(NB: argv[0] renvoie le nom du script)
- Il existe aussi une implémentation de getopt (cf. Dive into python - CLI)
Packaging
- Encapsulation pour librairie autonome
if __name__ == "__main__": main()
Variables
- Listes (mutable)
a=[1, 'c']
- Sets (mutable) fournit une interface implémentant les ensembles mathématiques (union, réunion, intersection, etc)
- Ajouter un élément en fin de liste:
a.append('d')
- Tuple (immutable, mais plus performant)
a=('b', 12)
- Matrices: installer et importer numpy (http://numpy.scipy.org/)
- Casts
- String
str(2)
- Integer
int('2')
- Tuple
tuple(['a', 2])
- Liste
list(('b', 1))
- String délimité par
' ou
“
- Sur plusieurs lignes
"""Ceci est une string sur plusieurs lignes"""
- Concaténation:
+
'Python'+'Cheat Sheet'
- Inclure des variables
print "Il y a %d %s dans mon sac" %(nb_fruit, type_fruit)
- Enlever un retour à la ligne en fin de ligne
string.rstrip('\n')
- Traitement de fichiers CSV:
- Séparer:
data=string.split(';')
- Rassembler:
';'.join(data)
- Booleans (
True
orFalse
)
IO
- Ouvrir un fichier
#'r'=read, 'w'=write, 'a'=append, 'r+'=read & write fichier=open('/path/to/file','r') # il faut alors fermer le fichier # une métode qui referme le fichier proprement: with open('/tmp/workfile', 'r') as f:
IOError
(erreur d'entrée sortie)- Sortie vers le shell:
print 'hello'
- Prompt au shell:
foo=raw_input("The Ultimate Question of Life, the Universe, and Everything")
NB: il existe également input(), avec laquelle python essaie de deviner le type de la variable entrée. raw_input() se contente de mettre ça dans une string.
Pour travavailler avec les chemins de fichiers : os.path
et notamment os.path.join
.
Structure de code
- Boucle
for
#pour i de 1 à 5 for i in range(1,5): instruction1 instruction2
- Opérateur
in
: test permettant de vérifier si un élément est présent dans un itérable (une liste, un tuple, un fichier, etc).if 'x' in 'xml': instruction
for line in fichier: instruction
Switch
/case
: en 2.x python ne possède pas de structure switch, on doit se débrouiller avec desif … elif …
ou avec la structure suivante:options = {0 : zero, 1 : sqr, 4 : sqr, 9 : sqr, 2 : even, 3 : prime, 5 : prime, 7 : prime, } def zero(): print "You typed zero.\n" def sqr(): print "n is a perfect square\n" def even(): print "n is an even number\n" def prime(): print "n is a prime number\n"
Que l'on peut appeler grâce à:
options[num]()
Source: bytebaker.com
break
permet de sortir de la boucle courrantecontinue
permet de terminer l'itération courrante (passer directement à la suivante, mais sans sortir de la boucle)try … except … raise … else … finally
: Gestion des exceptionstry: instructions except Error: instructions
else
exécute son bloc si toutes les instructions dutry
ont réussi;finally
s'éxécute dans tous les cas.- Arrêter le script
quit()
- Classe:
class formatted_string(parent_class):
- Fonction:
def function_name(arg1,arg2=10,arg3='foo'):
NB: les arguments
arg2
etarg3
sont optionnels- Expansion des arguments dans un appel de fonction:
args = (1, 2, 3) function_name(*args) kwargs = {'arg1': [], 'arg2': 10, 'arg3': 'foo'} function_name(**kwargs)
- Fonction anonyme (jettable, pour usage unique):
lambda arg1, arg2: arg1 + arg2
- Test:
if ((test1) & (test2))|(test3):
RegExps
python_cheat_sheet.txt · Last modified: 2015/01/02 13:03 by ginko