Python Basics Attention à l’indentation, les espaces et tabulations permettent de définir les blocs. #Ceci est un commentaire Types de bases: b nombres entiers, reels (flottants) ; Opérateurs: +, -, *, /, ** (pour puissance, a s’écrit a**b ) booléens (True, False) ; Opérateurs: or, and et not Opérateurs de comparaison : <, >, <=, >=, ==, != Tests et boucles if: if test: #do stuff if test is true elif test 2: #do stuff if test2 is true else: #do stuff if both tests false for: for x in aSeq: #faire pour chaque elt de aSeq for x in xrange(10): #faire 10 fois (x va de 0 à 9) for x in xrange(5,10): #faire 5 fois (x va de 5 à 9) while: while test: #keep doing stuff until #test is false Chaînes de caractères creation: accessing: splitting: str = “Hello World!” str = ‘Hello World!’ str[4] str.split(" ") str.split("r”)! returns ‘o’ returns [‘Hello’, ‘World!’] returns [‘Hello’, ‘Wo’, ‘ld!’] Pour transformer une liste en une chaîne de caractères, il faut utiliser la fonction join(). Il faut préciser le séparateur. words = [“this”, ‘is’, ‘a’, ‘list’, ‘of’, “strings”] ‘ ‘.join(words) returns “This is a list of strings” ‘ZOL’.join(words) returns “ThisZOLisZOLaZOLlistZOLofZOLstrings” ‘’.join(words) returns “Thisisalistofstrings” Formatage: similaire à printf() en C str = “there” print “Hello %s!”%str a=5 print “Hello %s %d %f”%(s, a, a) affiche “Hello there!” affiche “Hello there 5 5.000000” Python Tuples Un tuple est composé de valeurs séparées par des virgules. Ces valeurs une fois définies ne sont pas modifiables. Les tuples sont surtout utilisé pour retourner des valeurs dans les fonctions. creation: accessing: emptyTuple = () singleItemTuple = (“spam”,) Ne pas oublier la virgule ! thistuple = 12, 89, ‘a’ thistuple = (12, 89, ‘a’) thistuple[0] returns 12 thistuple[1]=5 INTERDIT Dictionnaires Un dictionnaire est un ensemble de paires key:value. Toutes les clés doivent être uniques. creation: accessing: deleting: finding: emptyDict = {} thisdict = {'a':5, 'b':23, 'c':'eggs'} thisdict[‘a’] returns 5 del thisdict[‘b’] thisdict.has_key(‘e’) returns True 'e' in thisdict returns True thisdict.keys() returns [‘a’, ‘c’] thisdict.items() returns [(‘a’, 1), (‘c’, ‘eggs’)] Manipulation des listes Un des types de données les plus importants : très flexible et ayant beaucoup de fonction prédéfinies. creation: thelist = [5,3,‘p’,9,‘e’] accessing: thelist[0] returns 5 slicing: thelist[1:3] thelist[2:] thelist[:2] thelist[2:-1] returns returns returns returns length: len(thelist) returns 5 sort: thelist.sort() no return value add: thelist.append(37) return & remove: [5,3,’p’,9,’e’] [5,3,’p’,9,’e’] [3, ‘p’] [5,3,’p’,9,’e’] [‘p’, 9, ‘e’] [5, 3] [‘p’, 9] [3,5,9,’e’,’p’] [3,5,9,’e’,’p’,37] thelist.pop() thelist.pop(1) returns 37 returns 5 [3,5,9,’e’,’p’] [3,9,’e’,’p’] insert: thelist.insert(2, ‘z’) [3,’z’,9,’e’,’p’] remove: thelist.remove(‘e’) [3,’z’,9,’p’] deletion thelist[0] [‘z’,9,’p’] concatenation: thelist + [0] finding: 9 in thelist r returns [‘z’,9,’p’,0] [‘z’,9,’p’] returns True [‘z’,9,’p’] Listes de listes (tableaux à 2 ou plus dimensions) creation: l2 = [[1,2], [‘a’,’b’],‘p’] accessing: l2[1] l2[1][0] Creation d’un tableau de taille 3x2 m=[0]*3 for i in xrange(2): m[i]=[0]*3 print m returns [‘a’,’b’] returns ‘a’ affiche [[0, 0], [0, 0], [0, 0]] Fonction def myFunc(param1, param2): #indented code block goes here spam = param1 + param2 return spam Appel : a=spam(5,7) print a returns 12 affiche 12 Lecture et écriture de fichiers Lecture: thisfile = open(“datadirectory/file.txt”, ‘r’) lesLignes=thisfile.readlines() #Parcourt le fichier et retourne la liste des lignes. thisfile.close() monTexte=’’ for l in lesLignes: #Traiter chaque ligne print l[0] #Va afficher le 1er caractère de chaque ligne) monTexte=monTexte+l[:-1] #Concatène le texte du fichier dans la variable monTexte #Le :-1 permet d’enlever les retours à la ligne Ecriture: a= ‘toto’ b=5 thisfile = open(“datadirectory/file.txt”, ‘w’) thisfile.write(a) #L’argument doit être une chaine de caractères thisfile.write(‘b : %d\n’%b) #\n est un passage à la ligne thisfile.write(‘b : %d a : %s\n’%(b,a)) thisfile.close() Conversion chaîne de caractere vers un autre type: float("5.6") returns 5.6 int("7") returns 7 bool("True") returns True Scripts Ils doivent commencer par les deux lignes suivantes: #!/usr/bin/python # -*- coding: utf-8 -*# maFonction1: Expliquer ce que fait maFonction1 #ce que sont ses arguments... def maFonction1(arg1, arg2, arg3) : return arg1+arg2+arg3 #Expliquer ce que fait maFonction2 et ses arguments def maFonction2(n) : return n*n #Appels de mes fonctions print maFonction1(5,6,7) b=maFonction2(5) print b