CSI2520, Hiver 2007 Python Un langage de programmation par scripting et plus…

Slides:



Advertisements
Présentations similaires
Mais vous comprenez qu’il s’agit d’une « tromperie ».
Advertisements

Les carrés et les racines carrées
[number 1-100].
La boucle for : init7.c et init71.c
Distance inter-locuteur
1 Plus loin dans lutilisation de Windows Vista ©Yves Roger Cornil - 2 août
ACTIVITES NUMERIQUES Ranger les nombres Trouver le nombre manquant
Algorithmes et structures de données Cours 10 Patrick Reuter
Intiation python, avril 2003 introduction Présenter Python –simplicité –utilisation pratiques Conserver cette info en ligne Susciter des échanges à lIrcam.
Pour débutant … et autre Raymond Ripp
Les numéros 70 –
ACTIVITES Les fractions (10).
Les identités remarquables
12/10/2000Cédric Bertho - Comparaison entre Perl et Python1 vs Comparaison.
1 UMLV 1. Introduction 2. Hachage ouvert 3. Hachage fermé 4. Implémentation des fonctions Méthodes de hachage.
Cours n°2M2. IST-IE (S. Sidhom) UE 303 Promo. M2 IST-IE 2005/06 Conception dun système d'information multimédia Architecture trois-tiers : PHP/MySQL &
Algorithme et structure de données
LICENCE MIAGE Introduction Programmation Orientée Objet JAVA philippe
Défi écriture BEF Couverture. Défi écriture BEF Page 1.
LES TRIANGLES 1. Définitions 2. Constructions 3. Propriétés.
FLSI602 Génie Informatique et Réseaux
Révision (p. 130, texte) Nombres (1-100).
1 7 Langues niveaux débutant à avancé. 2 Allemand.
Initiation à la programmation et algorithmique cours 3
Lycée Louis Vincent SEANCE 6 Python Les listes Lundi 25 novembre 2013.
La mesure de tendance centrale
CPI/BTS 2 Programmation Web Introduction au PHP
OCaml - Les listes L3 MI.
Récursivité.
44 Contrôle du déroulement du programme. 4-2 Objectifs A la fin de ce cours, vous serez capables de : Utiliser les constructions de prise de décision.
Réalisé par : El Khamlichi Mohsin & Heyvaert Xavier.
Python La programmation objet
Introduction à la programmation (Java)
F Copyright © Oracle Corporation, Tous droits réservés. Créer des programmes avec Procedure Builder.
LES NOMBRES PREMIERS ET COMPOSÉS
Les chiffres & les nombres
Racines carrées 1) Racine carrée d’un nombre positif
Fichiers et entrées / sorties Sauvegarde des programmes dans des fichiers. Compilation. Lecture et écriture de données dans des fichiers. Formatage des.
Ensembles Définition d’un ensemble. Opérations sur les ensembles. Accès, suppression et ajout d’éléments d’un ensemble. Fonctions permettant de manipuler.
Développer en C avec Eclipse Introduction Création d'un projet Ajout de fichiers Compilation Exécution Utiliser le débogueur Département dinformatique.
Séquences : listes et tuples Définition dune liste. Opérations sur les listes. Fonctions permettant de manipuler les listes. Instruction for. Tuples. Exemples.
SEANCE 10 Python Entrée et sortie de fichiers Lycée Louis Vincent Lundi 20 janvier
1. 2 PLAN DE LA PRÉSENTATION - SECTION 1 : Code HTML - SECTION 2.1. : CSS (Méthode 1) - SECTION 2.2. : CSS (Méthode 2) - SECTION 3 : JavaScript - SECTION.
DUMP GAUCHE INTERFERENCES AVEC BOITIERS IFS D.G. – Le – 1/56.
Les maths en francais 7ième année.
Eric Laporte Institut Gaspard-Monge Université de Marne-la-Vallée France Introduction à Perl.
Racines carrées Carrés parfaits.
IFT 6800 Atelier en Technologies d’information
Année universitaire Réalisé par: Dr. Aymen Ayari Cours Réseaux étendus LATRI 3 1.
LIFI-Java 2004 Séance du Jeudi 9 sept. Cours 1. La notion de langage Décrire une tâche à effectuer –programme Écrire à un haut niveau –facile pour lutilisateur.
Chapitre 9 Les sous-programmes.
COURS DE PROGRAMMATION ORIENTEE OBJET :
CSI2520 Ecriture sur l'écran ou dans un fichier Lecture à partir du clavier ou dun fichier Affichage de termes : *write(1+2) affiche 1+2 *write(X). affiche.
MAGIE Réalisé par Mons. RITTER J-P Le 24 octobre 2004.
Les Nombres 0 – 100 en français.
Copyright 2011 – Les Chiffres Copyright 2011 –
MAGIE Réalisé par Mons. RITTER J-P Le 24 octobre 2004.
PHP 1° PARTIE : LES BASES © BTS IRIS 2002 [tv] Présentation Historique
Javascript 1° PARTIE : LES BASES
1/65 微距摄影 美丽的微距摄影 Encore une belle leçon de Macrophotographies venant du Soleil Levant Louis.
PHP & My SQL.
Introduction au langage PHP Licence Pro Cours Internet / Intranet Utilité Historique Exemples Fonctions PHP Classes.
Racines carrées Carrés parfaits.
LES PILES ET FILES.
Scripts shell intro Un script bash est un fichier contenant une suite de commandes shell, exécutables par l'interpréteur (ici le programme /bin/bash),
CSI2520  Cette fonction permet d’attribuer une valeur à une variable (set! nombre (+ 3 4)) (set! nombre (+ 1 nombre)) En SCHEME, les fonctions dont le.
CSI2520 Un langage de programmation par scripting orienté-objet (et fonctionnel)
Benjamin Fernandes Léo Cavaillé Gautier Minster
Fichier=open('monfichier.txt','w') >>> fichier.write('bonjour\n') 8 >>> liste ['le chien', 'le chat', 'le loup'] >>> for s in liste: fichier.write(s+'\n')
Initiation au JavaScript
Transcription de la présentation:

CSI2520, Hiver 2007 Python Un langage de programmation par scripting et plus…

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

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

Interpréteur Python CSI2520, Hiver 2007 >>> print "Hello world ! " Hello world ! >>> >>> >>>

Typage CSI2520, Hiver 2007 >>> y = 3.14 >>> y >>> a = "bonjour" >>> a 'bonjour' >>> b = 'salut' >>> b 'salut' >>> c = '''girafe''' >>> c 'girafe >>> x = 45 >>> x >>> y = 2.5 >>> x + y 47.5 >>> (x * 10) / y >>> chaine = "Salut" >>> chaine 'Salut' >>> chaine + " Python" 'Salut Python' >>> chaine * 3 'SalutSalutSalut' >>> x = 2 >>> type(x) >>> x = 2.0 >>> type(x) >>> x = '2' >>> type(x)

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 %

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']

Opérations sur les listes CSI2520, Hiver 2007 >>> a = [66.25, 333, 333, 1, ] >>> print a.count(333), a.count(66.25), a.count('x') >>> a.insert(2, -1) >>> a.append(333) >>> a [66.25, 333, -1, 333, 1, , 333] >>> a.index(333) 1 >>> a.remove(333) >>> a [66.25, -1, 333, 1, , 333] >>> a.reverse() >>> a [333, , 1, 333, -1, 66.25] >>> a.sort() >>> a [-1, 1, 66.25, 333, 333, ]

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]

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

Boucle Lindentation est obligatoire –Lutilisation de 4 espaces est suggérée CSI2520, Hiver 2007 >>> for i in range(4):... print i >>> animaux = ['girafe', 'tigre', 'singe', 'souris'] >>> for i in range(4):... print animaux[i]... girafe tigre singe souris

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'

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)

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

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

Persistence CSI2520, Hiver 2007 pickle.dump(x, f) x = pickle.load(f) Nimporte quel objet peut être sauvegardé

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

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)