Programmer en Python Jean-Philippe Poli Jean-philippe.poli@ecp.fr.

Slides:



Advertisements
Présentations similaires
Auteur Le poème Champs lexicaux Métaphores Rimes Registres de langue.
Advertisements

Access Frédéric Gava (MCF)
Portée des variables VBA & Excel
La classe String Attention ce n’est pas un type de base. Il s'agit d'une classe défini dans l’API Java (Dans le package java.lang) String s="aaa"; // s.
GEF 243B Programmation informatique appliquée Types dérivés, structures et tableaux §
Vocabulaire pour la passage du modèle conceptuel des données au modèle relationnel des données. MCDMRD EntitéTable PropriétésChamps, attribut IdentifiantClé
Approfondissement du langage
(Classes prédéfinies – API Java)
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 &
Gestion de FICHIERS.
C.
Objectifs Présentation et utilisation du langage PERL
JAV - TD 6 Structures de données JAVA
Chap. 1 Structures séquentielles : listes linéaires
ESIEE Paris © Denis BUREAU I N Initiation à la programmation avec le langage Java.
FLSI602 Génie Informatique et Réseaux
Lycée Louis Vincent SEANCE 6 Python Les listes Lundi 25 novembre 2013.
Principes de programmation (suite)
Cours de programmation
OCaml - Les listes L3 MI.
Les méthodes en java Une méthode est un regroupement d’instructions ayant pour but de faire un traitement bien précis. Une méthode pour être utilisée.
Introduction au paradigme objet Concepts importants surcharge (overload) redéfinition (override) Définition d’une classe Définition des attributs.
Python La programmation objet
L’utilisation des bases de données
Master 1 SIGLIS Java Lecteur Stéphane Tallard Chapitre 5 – Héritage, Interfaces et Listes génériques.
Les pointeurs Enormément utilisé en C/C++ ! Pourquoi? A quoi ça sert?
Les fichiers binaires en C++
FICHIERS : Définition : Algorithme général:
Les pointeurs Modes d’adressage de variables. Définition d’un pointeur. Opérateurs de base. Opérations élémentaires. Pointeurs et tableaux. Pointeurs et.
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.
Structures de données IFT-2000
SEANCE 10 Python Entrée et sortie de fichiers Lycée Louis Vincent Lundi 20 janvier
Sixième cours Les chaînes de caractères et le passage de paramètres par référence Passage de paramètres par référence String.h.
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.
CSI2520, Hiver 2007 Python Un langage de programmation par scripting et plus…
IFT 6800 Atelier en Technologies d’information
Chapitre 9 Les sous-programmes.
COURS DE PROGRAMMATION ORIENTEE OBJET :
CSI3525: Concepts des Langages de Programmation Notes # 6: Langages de Programmation Fonctionelle II: Introduction au ML.
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.
Structure et Services « STS » Menu Structures : Divisions
Programme de baccalauréat en informatique Programmation Orientée Objets IFT Thierry EUDE Module 6. Gestion des erreurs et des exceptions : Fonctionnement.
Les méthodes en java • Une méthode est un regroupement d’instructions ayant pour but de faire un traitement bien précis. • Une méthode pour être utilisée.
Les fichiers texte en C++
1212 Entrée et sortie de fichiers Objectifs À la fin de ce cours, vous serez capables de : • Lire à partir de la console • Écrire sur la console.
1 GPA435 Systèmes d’exploitation et programmation de système Copyright, 2000 © Tony Wong, Ph.D. Chapitre 8 Filtres UNIX.
Animateur : Med HAIJOUBI
Structures des données
TP n°3 Javascript Contrôle de formulaire
Le langage XHTML 420-S4W-GG Programmation Web Client
Jean-Michel ILIE - novembre SIL - module M12 Programmation Internet en PHP SIL module M12 Jean-Michel Ilié IUT Paris 5 - département informatique.
4 Introduction des objets. Les chaînes et tableaux
PHP 3° PARTIE : GESTION DE FICHIERS ET DE REPERTOIRES
Chapitre 6.2 Les curseurs Cours SGBD 3A Mme hkimi Jihène
Beaugency Onzain Blois Chenonceaux Loches Lavardin Couture … Ronsard Images de l’été 2005 Anne et Bernard Pour continuer, cliquer sur chaque diapositive.
420-B63 Programmation Web Avancée Auteur : Frédéric Thériault 1.
Strings et Tableaux en Java
Les classes et les objets Les données finales class A { … private final int n = 20 ; // la valeur de n est définie dans sa déclaration … } class A { public.
CSI2520 Un langage de programmation par scripting orienté-objet (et fonctionnel)
Benjamin Fernandes Léo Cavaillé Gautier Minster
Les fichiers 1ère partie
Les variables fichiers. Le type fichier On manipule les fichiers par l’intermédiaire de structures FILE décrites dans stdio.h FILE *monFichier; –Nom physique.
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')
Pierre de Ronsard.
Histoire de roses Clic ici pour le son >
Philippe Gandy - 1 septembre 2015 Basé sur les notes de cours de Daniel Morin et Roch Leclerc.
Philippe Gandy - 8 septembre 2015 Basé sur les notes de cours de Daniel Morin et Roch Leclerc.
Philippe Gandy - 22 septembre 2015 Basé sur les notes de cours de Daniel Morin et Roch Leclerc.
Transcription de la présentation:

Programmer en Python Jean-Philippe Poli Jean-philippe.poli@ecp.fr

Accès aux fichiers (généralités) Comment désigner un fichier ? Par son nom: nomfichier . txt nom extension Extension  Type de fichier Images jpg, gif, png … Documents doc, txt, xls Données binaires bin, dat Programmes exe

Accès aux fichiers (généralités) Comment désigner un fichier ? Par son nom: nomfichier . txt nom extension Par son chemin: Absolu C:\répertoire1\sousrépertoire\ Relatif sousrépertoire\

Accès aux fichiers (généralités) Mignonne, allons voir si la rose Qui ce matin avoit desclose Sa robe de pourpre au Soleil, A point perdu ceste vesprée Les plis de sa robe pourprée, Et son teint au vostre pareil. Las ! voyez comme en peu d'espace, Mignonne, elle a dessus la place Las ! las ses beautez laissé cheoir ! Ô vrayment marastre Nature, Puis qu'une telle fleur ne dure Que du matin jusques au soir ! Donc, si vous me croyez, mignonne, Tandis que vostre âge fleuronne En sa plus verte nouveauté, Cueillez, cueillez vostre jeunesse : Comme à ceste fleur la vieillesse Fera ternir vostre beauté. 00100110101010101011101010101010101010100101010101010101010101010101010101101010100010011011011110100001111010000000111111111010101010100100000111111010101010101010101010101011100100110101010101011101010101010101010101010110101010001001101010101010111001001101010101010111010101010101010101010101101010100010011010101010101110010011010101010101110101010101010101010010101010101010101010101010101010110101010 001001101010101010111010101010101010101001010101010101010101010101010101011010101000100110101010101011101010101010101010100101010101010101010101010101010101101010100101010101010101010010101010101010101010101010101010110101010 Fichier texte Fichier binaire

Accès aux fichiers (généralités)

Accès aux fichiers (généralités) Fichier exécutable (exe) binaire Fichier excel (xls) binaire Fichier word (doc) binaire Fichier texte brut (txt) texte Fichier python (py) compliqué

Accès aux fichiers (généralités) Un fichier python (py) est un fichier texte  Si on l’ouvre avec l’éditeur de texte brut, on peut lire le contenu Pourtant si je double-clique dessus, le « programme » est exécuté ?? Table d’association des applications / type de fichiers .doc word .xls excel .py python (et pas idle!) double cliquer sur un fichier word indique à Windows de démarrer Word en mode « ouverture du fichier en paramètre » Double cliquer sur un fichier python indique à python d’interpréter le fichier Un fichier python est donc un texte que le programme python interprète à la volée: on parle de script et non pas de programme

Accès aux fichiers (en python) Ouverture du fichier: monfichier = open(nom_du_fichier,mode) nom_du_fichier (str): l’adresse (absolue ou relative) et le nom du fichier mode (str): un mode d’ouverture parmi w, r, a monfichier (file): un objet représentant le fichier ouvert Exception levée: IOError Fermeture du fichier: monfichier.Close()

Accès aux fichiers (en python) Attention, si vous employez des adresses relatives, vous devez spécifier un répertoire courant, à partir duquel le cheminement vers le fichier va se faire. from os import chdir chdir(r’c:\tp\AlgoProg’) Notez l’emploi du r devant l’adresse du fichier!

Accès aux fichiers (en python) Entre l’ouverture en lecture et la fermeture, on peut lire des données: monfichier.read() (str) retourne tout le fichier monfichier.read(octets) (str) retourne au plus le nombre d’octets spécifiés suivants monfichier.readline() (str) lit la ligne suivante du fichier monfichier.readlines() (list of str) met toutes les lignes dans une liste Ce sont toutes des fonctions donc des expressions!

Accès aux fichiers (en python) Entre l’ouverture en écriture et la fermeture, on peut écrire des données: monfichier.write(string) Écrit la chaîne string dans le fichier monfichier.writelines(li) Ecrit toutes les chaînes de li (list of string) dans le fichier. Attention, le retour à la ligne n’est pas ajouté automatiquement! Ce sont des procédures, donc pas de retour, donc des instructions.

Programmation orientée objet On distingue les types de bases (int, float) des objets (str, list, dict…) Un objet est une entité qui regroupe: des variables pour caractériser son état des méthodes: instance.methode(…) Les objets sont des instances d’une classe Les listes et les dictionnaires sont des objets spéciaux

Méthodes des objets string (str) Formatage de la chaîne de caractères S: S.capitalize() (str) Retourne une copie de S où seule la première lettre est en majuscule S.lower() (str) Retourne une copie de S où toutes les lettres sont en minuscules S.upper() (str) Retourne une copie de S où toutes les lettres sont en majuscules S.swapcase() (str) Retourne une copie de S où la casse est inversée S.title() (str) Retourne une copie de S où tous les mots commencent par une majuscule

Méthodes des objets string (str) Tests de la chaîne de caractères S: S.isalnum() (bool) Retourne True si la chaîne S ne contient que des caractères alphanumériques et au moins 1 caractère. False sinon. Cousines: isalpha, isdigit, islower, isupper, isspace S.endswith(suffix,deb,fin) (bool) Retourne True si S termine par la chaîne suffix, False sinon. suffix peut être un tuple avec plusieurs suffixes alternatifs. deb et fin sont optionnels et fonctionnent comme le slicing. Cousine: startswith

Méthodes des objets string (str) Passage de la chaîne de caractères S en liste (et vice versa): S.join(sequence) (str) Retourne une chaîne de caractère constituée de la concaténation des chaînes de caractères de la séquence séparées par S. S.split(sep) (list of str) Retourne une liste de chaînes de caractères formée des mots de S séparés par la chaîne sep. sep est optionnel: par défaut, c’est l’espace. S.splitlines(endchar) (list of str) Retourne une liste de chaînes de caractères constituée des lignes de S. endchar (bool) est optionnel et indique si le caractère <fin de ligne> doit être conservé ou pas.

Méthodes des objets string (str) Recherche d’éléments dans S: S.count(sub,deb,fin) (int) Retourne le nombre de fois que la sous-chaîne sub apparaît dans S. deb,fin sont optionnels et fonctionnent comme le slicing. S.find(sub,deb,fin) (int) Retourne l’indice de la première occurrence de sub dans S, -1 en cas d’erreur. deb,fin sont optionnels et fonctionnent comme le slicing Jumelle: index, lance ValueError au lieu de -1. Cousine: rfind, rindex (r=reverse) S.replace(old,new) Remplace les occurrences de la chaîne old par new. Le module string comporte à peu près les mêmes fonctions.

Méthodes des listes (list) Soit une liste L: L.append(elt) Ajoute l’élément en fin de liste L.extend(seq) Ajoute tous les éléments de seq ç la fin de L L.insert(index,objet) Ajoute l’élément à la position index. L.pop(index) (?) Retourne et supprime l’élément à la position index. index est optionnel, par défaut 0. L.remove(elt) Supprime l’élément de la liste L. L.sort() Trie la liste L. L.count(elt) (int) Indique le nombre d’occurrences de elt. L.index(elt,deb,fin) (int) Retourne l’indice de la première occurrence de elt. Deb et fin sont optionnels et se comportent comme le slicing. L.reverse() Inverse la liste.

Méthodes sur les dictionnaires (dict) Soit D un dictionnaire: D.clear() Vide le dictionnaire. D.copy() (dict) Retourne une copie du dictionnaire. D.get(clé, default) (?) Retourne la valeur associée à clé si elle existe, sinon retourne la valeur default. default est optionnelle, par défaut vaut None. D.has_key(clé) (bool) Retourne True si la clé est présente, False sinon. D.items() (list of tuple) Retourne une liste de 2-tuples clé/valeur. D.keys() (list) Retourne la liste des clés. D.values() (list) Retourne la liste des valeurs.

Références d’objet En Python, TOUT est objet ex.: 1 est une instance de la classe int, une fonction ou un module Une variable représente un lien vers cet objet (on parle de référence) La référence d’un objet est son adresse en mémoire c’est ce que nous donne la fonction id() Chaque nombre, chaque chaîne de caractère est une instance unique  i.e.: il n’y a pas de instances de la classe int qui vaut 1

Références d’objet 2 1 Véritable sens de l’affectation La variable A prend la valeur de la référence de l’objet 1 >>> B=A La variable B prend la valeur de la référence contenue dans la variable A, c’est-à-dire celle de l’objet 1 >>> A=A+1 La variable A prend la valeur de la référence de l’objet 2 (résultat de l’opération) 2 objet A 1 objet B

Références d’objet Mais alors que signifie tester l’égalité de deux objets ?  Par exemple, de deux entiers ? Il existe deux opérateurs d’égalité d’objets == compare valeurs par valeurs deux objets is compare les références Illustration sur la console interactive

Slicing (découpage) Le slicing est une opération qui s’applique à n’importe quelle séquence. Elle permet de récupérer une partie ou la totalité d’une séquence. La nouvelle séquence est TOUJOURS un nouvel objet (même si la sous-séquence = séquence source). seq[indice1:indice2:pas] ATTENTION: indice2 n’est pas compris dans le résultat!  Si indice1=indice2, cela retourne la séquence vide

Slicing (découpage) Soit L = range(1,11) L est la liste (une séquence) [1,2,3,4,5,6,7,8,9,10] L[2:2]  [] L[4:6]  [5,6] L[:]  [1,2,3,4,5,6,7,8,9,10] (copie d’une liste) L[1:100]  [2,3,4,5,6,7,8,9,10] L[0:10:2]  [1, 3, 5, 7, 9] L[-1]  [10] L[:-2]  [1,2,3,4,5,6,7,8] L[2:]  [3,4,5,6,7,8,9,10] L[-5:-2]  [6,7,8] L[-2:-5]  []