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#
- Importimport nom_moduleou 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 modulesys)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 autonomeif __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- Stringstr(2) 
- Integerint('2') 
- Tupletuple(['a', 2]) 
- Listelist(('b', 1)) 
 
- String délimité par' ou“- Sur plusieurs lignes"""Ceci est une string sur plusieurs lignes"""
- Concaténation:+'Python'+'Cheat Sheet' 
- Inclure des variablesprint "Il y a %d %s dans mon sac" %(nb_fruit, type_fruit) 
- Enlever un retour à la ligne en fin de lignestring.rstrip('\n') 
- Traitement de fichiers CSV:- Séparer:data=string.split(';') 
- Rassembler:';'.join(data) 
 
 
- Booleans (TrueorFalse)
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
- Bouclefor#pour i de 1 à 5 for i in range(1,5): instruction1 instruction2 
- Opérateurin: 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 des- if … 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 
- breakpermet de sortir de la boucle courrante
- continuepermet de terminer l'itération courrante (passer directement à la suivante, mais sans sortir de la boucle)
- try … except … raise … else … finally: Gestion des exceptions- try: instructions except Error: instructions - elseexécute son bloc si toutes les instructions du- tryont réussi;- finallys'éxécute dans tous les cas.
- Arrêter le scriptquit() 
- Classe:class formatted_string(parent_class): 
- Fonction:def function_name(arg1,arg2=10,arg3='foo'): NB: les arguments arg2etarg3sont 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
                
                