Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
Publié parMartine Charlot Modifié depuis plus de 10 années
1
CSI2520, Hiver 2007 Python Un langage de programmation par scripting et plus…
2
Paradigme de programmation par scripting Langage de plus haut niveau –Syntaxe simple Souvent interprété Axé sur le développement rapide Typage dynamique –Variable non-déclarée –Erreur de typage détecté à lexécution Riche en modules réutilisable CSI2520, Hiver 2007
3
Python Créé en 1991, en logiciel libre depuis 2000 Cest avant tout un langage multi- paradigme Programmation très productive (3x à 10x) –Facile à apprendre –Prototypage rapide Encourage la réutilisation et le logiciel libre –Beaucoup de modules disponibles CSI2520, Hiver 2007
4
Interpréteur Python CSI2520, Hiver 2007 >>> print "Hello world ! " Hello world ! >>> >>> 1 + 1 2 >>>
5
Typage CSI2520, Hiver 2007 >>> y = 3.14 >>> y 3.1400000000000001 >>> a = "bonjour" >>> a 'bonjour' >>> b = 'salut' >>> b 'salut' >>> c = '''girafe''' >>> c 'girafe >>> x = 45 >>> x + 2 47 >>> y = 2.5 >>> x + y 47.5 >>> (x * 10) / y 180.0 >>> chaine = "Salut" >>> chaine 'Salut' >>> chaine + " Python" 'Salut Python' >>> chaine * 3 'SalutSalutSalut' >>> x = 2 >>> type(x) >>> x = 2.0 >>> type(x) >>> x = '2' >>> type(x)
6
Ecriture formattée CSI2520, Hiver 2007 >>> x = 32 >>> nom = 'John' >>> print nom, ' a ', x, ' ans' John a 32 ans >>> nbG = 4500 >>> nbC = 2575 >>> percGC = propGC * 100 >>> print "Ce génome contient %i G et %i C, un %GC de %.2f" % (nbG,nbC,percGC),"%" Ce génome contient 4500 G et 2575 C, un %GC de 47.80 %
7
Listes CSI2520, Hiver 2007 >>> animaux = ['girafe','tigre','singe','souris'] >>> animaux[1] 'tigre >>> animaux[-2] 'singe' >>> tailles = [5, 2.5, 1.75, 0.15] >>> mixte = ['girafe', 5, 'souris', 0.15] >>> animaux ['girafe', 'tigre', 'singe', 'souris'] >>> tailles [5, 2.5, 1.75, 0.15] >>> mixte ['girafe', 5, 'souris', 0.15] >>> range(0,1000,200) [0, 200, 400, 600, 800] >>> animaux[0:2] ['girafe', 'tigre'] >>> animaux[0:3] ['girafe', 'tigre', 'singe'] >>> animaux[0:] ['girafe', 'tigre', 'singe', 'souris'] >>> animaux[:] ['girafe', 'tigre', 'singe', 'souris'] >>> animaux[1:] ['tigre', 'singe', 'souris'] >>> animaux[1:-1] ['tigre', 'singe'] >>> ani1 = ['girafe','tigre'] >>> ani2 = ['singe','souris'] >>> ani1 + ani2 ['girafe', 'tigre', 'singe', 'souris'] >>> ani1 * 3 ['girafe', 'tigre', 'girafe', 'tigre', 'girafe', 'tigre']
8
Opérations sur les listes CSI2520, Hiver 2007 >>> a = [66.25, 333, 333, 1, 1234.5] >>> print a.count(333), a.count(66.25), a.count('x') 2 1 0 >>> a.insert(2, -1) >>> a.append(333) >>> a [66.25, 333, -1, 333, 1, 1234.5, 333] >>> a.index(333) 1 >>> a.remove(333) >>> a [66.25, -1, 333, 1, 1234.5, 333] >>> a.reverse() >>> a [333, 1234.5, 1, 333, -1, 66.25] >>> a.sort() >>> a [-1, 1, 66.25, 333, 333, 1234.5]
9
Génération de listes CSI2520, Hiver 2007 >>> squares = [x**2 for x in range(10)] >>> squares [0, 1, 4, 9, 16, 25, 36, 49, 64, 81] >>> [(x, y) for x in [1,2,3] for y in [3,1,4] if x != y] [(1, 3), (1, 4), (2, 3), (2, 1), (2, 4), (3, 1), (3, 4)] >>> vec = [[1,2,3], [4,5,6], [7,8,9]] >>> [num for elem in vec for num in elem] [1, 2, 3, 4, 5, 6, 7, 8, 9]
10
Dictionnaire CSI2520, Hiver 2007 >>> tel = {'jack': 4098, 'sape': 4139} >>> tel['guido'] = 4127 >>> tel {'sape': 4139, 'guido': 4127, 'jack': 4098} >>> tel['jack'] 4098 >>> del tel['sape'] >>> tel['irv'] = 4127 >>> tel {'guido': 4127, 'irv': 4127, 'jack': 4098} >>> tel.keys() ['guido', 'irv', 'jack'] >>> 'guido' in tel True
11
Boucle Lindentation est obligatoire –Lutilisation de 4 espaces est suggérée CSI2520, Hiver 2007 >>> for i in range(4):... print i... 0 1 2 3 >>> animaux = ['girafe', 'tigre', 'singe', 'souris'] >>> for i in range(4):... print animaux[i]... girafe tigre singe souris
12
Test CSI2520, Hiver 2007 >>> if x < 0:... x = 0... print 'Negative changed to zero'... elif x == 0:... print 'Zero'... elif x == 1:... print 'Single'... else:... print 'More'
13
Modules Un module est un fichier texte contenant des instructions Python Le nom du fichier est le nom du module –Extension.py –Variable système PYTHONPATH CSI2520, Hiver 2007 >>> import fibo >>> fibo.fib(1000) 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987
14
Définir un module CSI2520, Hiver 2007 def fib(n): # write Fibonacci series up to n a, b = 0, 1 while b < n: print b, a, b = b, a+b def fib2(n): # return Fibonacci series up to n result = [] a, b = 0, 1 while b < n: result.append(b) a, b = b, a+b return result
15
Fichiers CSI2520, Hiver 2007 >>> f = open(fichier.txt', 'w') >>> f.readline() 'This is the first line of the file.\n' >>> f.readlines() ['This is the first line of the file.\n', 'Second line of the file\n'] >>> for line in f: print line This is the first line of the file. Second line of the file
16
Persistence CSI2520, Hiver 2007 pickle.dump(x, f) x = pickle.load(f) Nimporte quel objet peut être sauvegardé
17
Programmation fonctionnelle CSI2520, Hiver 2007 >>> def f(x): return x % 2 != 0 and x % 3 != 0... >>> filter(f, range(2, 25)) [5, 7, 11, 13, 17, 19, 23] >>> def cube(x): return x*x*x... >>> map(cube, range(1, 11)) [1, 8, 27, 64, 125, 216, 343, 512, 729, 1000] >>> def add(x,y): return x+y... >>> reduce(add, range(1, 11)) 55
18
Tour de Hanoi CSI2520, Hiver 2007 def hanoi(n,de,a,par): if n>0: hanoi(n-1,de,par,a) print str(de),"-->",str(a) hanoi(n-1,par,a,de) n=input("donner le nombre de disques : ") hanoi(n,1,2,3)
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.