Home
La syntaxe: version Jean
Contents
1. O 1 0 5 0 0 5 split D 1 1 0 5 005 O map float 1 0 5 0 0 5 split gt 1 0 0 5 0 0 0 5 E join abc 999 def gt abc 999 def O Combinaison d op rations E s strip count gt 2 abc abc O Op rations plus complexes avec le module de traitement des expressions r guli res E import re O voir la doc m exemples m diter 1 1 un t2 deux t3 trois l split gt 1 un 2 deux 3 trois l split t gt 1 un 2 deux 3 trois re split 0 9 t 1 gt un deux trois re split a z t 1 SA E NON NON AT 14 10 2013 J Y Peterschmitt LSCE 12 Le contenu d une cha ne 1 2 0123 eee eelle pe oO I 2 3 4 O faut absolument comprendre le fonctionnement des indices en python M les indices fonctionnent de la m me fa on pour tous les objets python qui sont ordonn s cha nes listes tableaux M c est plus facile comprendre pour les cha nes de caract res O Les indices commencent ZERO m e n e l ment d un objet a donc l indice n 1 M le dernier l ment d un objet a l indice 1 l avant dernier a l indice 2 etc M les indices des l ments d un objet de longueur z vont de 0 L 1 ou de L 1 14 10 2013 J Y Peterschmitt LSCE 13 Le contenu d une cha ne 2 2 abcde oooga S s 0 gt a s 4 gt e s 1 gt e s debut fin pa
2. 1 l n pi 3 14 one 1 14 10 2013 J Y Peterschmitt LSCE 21 Pourquoi utiliser un dictionnaire O Une liste doit tre utilis e lorsque l on a besoin de disposer d un ensemble ordonn d l ments ET que l on sait facilement d terminer l indice des l ments auxquels ont doit acc der O Sinon un dictionnaire est plus pratique couleurs vert O 100 0 green rouge 100 0 0 red E couleurs vert 0 gt 0 100 0 M couleurs rouge 1 gt red O On peut videmment imbriquer des dictionnaires Exemple on veut stocker et utiliser les composantes RVB et le nom anglais des couleurs E initialisation couleurs couleurs vert couleurs vert RVB 0 100 0 couleurs vert eng green couleurs rouge RVB 100 0 0 eng red E utilisation E couleurs vert RVB gt 0 100 0 E couleurs rouge eng gt red E couleurs has key noir gt False 14 10 2013 J Y Peterschmitt LSCE 22 Exemple pr c dent avec dico Traduction des noms abr g s de la liste des composants d un mod le coupl usr bin env python noms_comp surf vegetation veg vegetation atm atmosphere ocean ocean ocn ocean composants atm OCN Veg separateur for comp in composants if comp composants 1 separateur comp comp lower if noms _comp h
3. 1 abc 2 4 def 10 lst 0 gt 1 lst 2 1 gt 4 Ist 2 1 11 gt e O Concat nation r p tition 1 2 96 72 gt 1 2 96 72 3x an 1l la n lan dat 1 O Rappel sur le tuple 1 l ment 4 1 gt 4 4 1 gt 1 1 1 1 O valeurs 0 10 1 min valeurs gt 1 0 len valeurs 3 10 in valeurs gt True 14 10 2013 J Y Peterschmitt LSCE 16 Listes quelques m thodes utiles Op ration Valeur de la liste a liste vide a a 10 10 a 1 10 1 0 a valeur a a valeur a extend 0 4 10 1 0 O 4 Concat nation de a et du param tre de extend a append 0 4 10 1 0 0 4 0 4 Insertion du param tre de append a la fin de a a remove 0 4 10 1 0 0 4 Note l op ration supprime juste la premi re occurrence a reverse 4 O 1 0 10 Attention L inversion se fait in place le contenu de a est mis jour et il n y a pas cr ation d une nouvelle liste a sort 1 0 O 4 10 Attention Op ration in place comme pour reverse Utiliser sorted a pour r cup rer une copie tri e de a a index 4 2 1 0 O 4 10 a pop 2 gt 4 1 0 O 10 14 10 2013 J Y Peterschmitt LSCE 17 python les tests et les bool ens O Comparaison 0 d X lt Y lt gt gt O lt gt O attention bien utiliser pour tester l galit O criture comp
4. j fin de la boucle sur j oO on amp N OO O I O1 HA 0123456789 fin de la boucle sur i print O La division de nombres entiers renvoie un entier 1 2 gt 0 14 10 2013 J Y Peterschmitt LSCE 27 Attention Erreurs viter 2 O On r cup re normalement une r f rence un objet alors que l on croit en r cup rer une copie a 0 1 b a gt b 0 1 b append 2 2 a 0 1 2 Ce que l on voulait vraiment a 0 1 b al gt b 0 1 b append 2 gt b 0 1 2 a 0 1 Note recopie d un objet avec copy deepcopy objet O Ne pas oublier lors de l appel une fonction m thode sans param tres gt gt gt s abc gt gt gt sl s strip gt gt gt s2 s strip gt gt gt s1 abc gt gt gt s2 lt built in method strip of str object at 0x00BE2980 gt O Il faut utiliser correctement les op rations in place sort reverse gt gt gt lst 3 1 4 2 gt gt gt lst2 l1st sort lst2 gt None Ist gt 1 2 3 4 14 10 2013 J Y Peterschmitt LSCE 28
5. python gt objet cha ne de caract res m f open exemple txt gt objet fichier utilisation d une m thode associ e un objet E c center 20 D python O f close gt fermeture du fichier m valeur d un attribut O f closed gt True destruction d un objet O python s en charge normalement automatiquement si l objet ne sert plus O possibilit de d truite explicitement un objet pour lib rer de la m moire del c Lai del ma matrice temporaire enorme E type d un objet O type c gt lt type str gt O type f gt lt type file gt 14 10 2013 J Y Peterschmitt LSCE Objets et aide en ligne O Tr s utile si on n a pas la documentation sous la main O M thodes et attributs associ s un objet E dir f gt close closed MH note autres usages de dir O dir et locals gt liste des modules charg s et des variables d j d finies localement gt gt gt dir Lan e n O dir nom_de_module gt donne la liste des fonctions et des constantes d finies dans un module gt gt gt dir time asctime tzname O Mode d emploi d une m thode E help c center S center width fillchar gt string Return S centered in a string of length width Padding is done using the specified fill character default is a space 14 10 2013 J Y Peterschmitt LSCE 6 Les nombres sont des objets O gt gt gt t
6. Bien d marrer avec python Un chantillon de ce qui peut servir l IPSL dans un python standard J Y Peterschmitt LSCE http www lsce ipsl fr Phocea Cours index php uid jean yves peterschmitt Un exemple Commentaire note un script ex cutable doit commence par Chargement du module de gestion du temps un module ajoute de nouvelles fonctionnalit s au python de base GN usr bin env python Cr ation d une variable contenant l heure et la date pas besoin de d finir la variable avant de lui donner une valeur Affichage de la valeur brute de t print La variable t vaut Affichage d un message Sans aller la ligne print Bonjour nous sommes le d time asctime t La variable t vaut time struct_time tm_year 2013 tm_mon 10 tm mday 10 Affichage de la date sous une print forme compr hensible Fin tm_hour 16 tm_min 9 tm_sec 45 tm_wday 3 tm yday 283 tm_isdst 1 Bonjour nous sommes le Thu Oct 10 16 09 45 2013 14 10 2013 J Y Peterschmitt LSCE Pourquoi utiliser python O Pratique pour la communaut scientifique climat et Aie M disponible sous linux et mac et installable sur PC gt possibilit de faire des scripts portables E prise en main rapide gt le mode ligne de commande permet d exp rimenter facilement M alternative moderne et puissante aux scripts shell sh csh O script fichier texte contenant une suit
7. a nes exotiques usr bin env python coding utf 8 utilisation de minuscules accentu es Pas de caracteres exotiques ici Affichage du caract re degrA print u utilisation de minuscules accentu es print Pas de caracteres exotiques ici print u Affichage du caract re degr utilisation de minuscules accentu es Pas de caracteres exotiques ici Affichage du caract re degr O Il peut y avoir des interactions inattendues avec l diteur de texte le shell dans lequel on ex cute le script O Plus de d tails dans le PEP appropri PEP Python Enhancement Proposals http www python org dev peps pep 0263 14 10 2013 J Y Peterschmitt LSCE 10 Manipulation des cha nes 1 2 O dir pour lister toutes les m thodes 0O Exemples s abc abc suppression des blancs ou autre en d but et en fin de cha ne O s strip gt abc abc Note nettoyage d une cha ne on te les espaces tabulations et passage a la ligne en d but fin tEssai n r strip gt Essai O Nettoyage droite ou gauche s rstrip s lstrip s replace abc X gt X X s upper gt ABC ABC s count abc D2 s find ab gt 3 s find abd gt 1 14 10 2013 J Y Peterschmitt LSCE 11 Manipulation des cha nes 2 2 E abc 999 def split gt l abc 999 def Note donn es lues dans un fichier texte CSV comma separated values
8. acte de plusieurs comparaisons 1 lt 2 lt 2 lt 3 gt False 1 lt 2 lt 2 lt 3 gt True Appartenance xins xnotins Tr s utile pour remplacer une suite de tests blanc not in rouge vert bleu gt True and or not Ce qui est False None 0 0 1 4 cha ne liste tuple et dictionnaire vides Ce qui est True Tout le reste 14 10 2013 J Y Peterschmitt LSCE 18 python structures de contr le O Des instructions appartiennent un m me bloc si elles sont indent es de la m me fa on Pas besoin de endif enddo begin end et O Tests if condition instruction instructio elif condition instructions Le nombre d espaces pour l indentation n a pas d importance 21 mais il doit tre le m me else pour toutes les lignes d un m me o0 instructions bloc d instructions O Boucles for l ment in s quence oo instructions Note sortie de boucle possible avec break et continue Attention Pour faire une boucle sur un grand nombre d entiers utiliser xrange plutot que range range Commence par cr er une liste avec tous les entiers en m moire O Ilya aussi while condition oo instructions else co instructions 14 10 2013 J Y Peterschmitt LSCE 19 On m lange un peu tout Traduction des noms abr g s de la liste des composants d un mod le coupl usr bin env python composants atm OCN Veg xxx separa
9. as_ key comp nom noms_comp comp else nom other print nom separateur print atmosphere ocean vegetation other D finition du dictionnaire de correspondance entre les abr viations et les noms complets Utilisation d un dictionnaire plut t qu une s rie de tests if elif Variantes 1 2 3 4 14 10 2013 J Y Peterschmitt LSCE 23 Lecture criture de fichiers texte 1 2 TE O Ouverture d un fichier fic open nom fichier mode mode r lecture w criture a ajout O Fermeture fic close Attention ne pas oublier de fermer les fichiers O Lecture M ligne par ligne ligne fic readline len Ligne 0 si on d passe la fin du fichier mE toutes les lignes d un coup lignes fic readlines attention Les lignes lues contiennent la marque de fin de ligne ligne O n ligne N 1 n O La marque peut d pendre du syst me o a t cr le fichier E Linux gt n E Mac DEN E E Win gt r n Suppression de la fin de ligne avec ligne ligne strip 14 10 2013 J Y Peterschmitt LSCE 24 Lecture criture de fichiers texte 2 2 ad O Parcourir les lignes d un fichier for ligne in lignes ooprint ligne strip M pour parcourir toutes les lignes de fa on efficace rapidement et sans charger tout le fichier en m moire for ligne in fic o0 print ligne strip O Ecriture M ne pas oublier la marque de fin de ligne O Linux
10. e de commandes ex cuter O l automatisation des t ches r p titives avec un script diminue les risques d erreur Langage g n raliste tr s complet extensible en fonction des besoins avec import nom de module Nombreuses ressources sur le web Langage GRATUIT 0 0 14 10 2013 J Y Peterschmitt LSCE Lancer un script python 1 2 O lancement de l interpr teur python python options ou ipython options 5 historique des commandes fl ches haut bas m mes raccourcis qU emacs et tcsh bash A CTRL A E gt d but fin de ligne K gt effacer jusqu la fin de la ligne D gt quitter l interpr teur O ex cution d un script seript py si on veut rendre le script ex cutable O le script doit commencer par usr bin env python d chmod x script py puis script py param tres si le script n est pas ex cutable python script py param tres ou python 1 script py param tres gt ex cution et on reste dans l interpr teur la fin du script tr s utile pour la mise au point 14 10 2013 J Y Peterschmitt LSCE 4 Langage orient objet en bref O Python dispose de plein d objets pr d finis faciles utiliser O Des m thodes et des attributs sont associ s aux objets gt permettent de faire facilement des op rations complexes sur les objets E objet nom de_methode param tres E objet nom attribut O Les objets s utilisent de mani re intuitive cr ation O c
11. e print en mode interactif gt gt gt test_list Dell LMD NASA Une boucle et des tests en mode gt gt gt for labo in test_list interactif if labo in ipsl_labs en print labo Test un labo de d IDSL On it re sur un objet qui comporte l I lelse ou peut g n rer la vol e i print labo ne fait pas partie de 1 IPSL plusieurs l ments Dell fai i l IPSL A E FTA AEn E a Les blocs d instructions sont d finis NASA ne fait pas partie de l IPSL par un m me nombre d indentations 14 10 2013 J Y Peterschmitt LSCE 8 Les cha nes de caract res cs objets ere O Syntaxe standard abc abc Utilisation classique de O et gt j utilise python O n retour chariot t tabulation O Cha nes sur plusieurs lignes s j utilise des chaines avec des et des sur plusieurs lignes O Conversion str 3 14 gt 3 14 float 3 14 gt 3 1400000000000001 O Longueur len abc gt 3 O Concat nation r p tition E a b gt ab M 10 a b gt abababababababababab 14 10 2013 J Y Peterschmitt LSCE 9 Les caract res exotiques O Sion utilise des minuscules accentu es sans pr caution dans un script SyntaxError Non ASCII character xc3 in file testl py on line O La solution 1 Mettre en 1 e ou 2 me ligne du script une indication de codage unicode des caract res 2 Ajouter un pr fixe u devant les ch
12. n Win rkn Mac r O oubien import os fin_ligne os linesep M criture ligne par ligne fic write ma ligne fin_ligne m criture de toutes les lignes d une liste de cha nes de caract res lignes lignes append ligne 0 fin ligne lignes append ligne N 1 fin ligne fic writelines lignes 14 10 2013 J Y Peterschmitt LSCE 25 Exemple de lecture d un fichier Affichage d une colonne d un fichier texte de donn es dt Lecture de l ent te nomfic fic_exemple txt pour sauter les lignes d ent te nb_entete 2 separateur I l num colonne 2 Lecture des lignes de donn es et affichage de la fic open nomfic r 3 me indice 2 colonne for saute in range nb_entete fic readline for ligne in fic ligne ligne strip colonnes ligne split separateur Exemple de fichier avec des colonnes print colonnes num_colonne choco prix quantite Mars 0 5 10 fic close M amp M 0 5 0 Grany 0 5 15 fic_exemple txt Tagada 0 5 0 Linux awk F NR gt 2 print 3 fic exemple txt 14 10 2013 J Y Peterschmitt LSCE 26 Attention Erreurs viter 1 O et pas pour tester l galit O Attention l indentation Exemple la position du print juste l ext rieur de la boucle sur j ou a l ext rieur des deux boucles sur i et j donne des r sultats assez diff rents for i in range 5 for j in range 2 print 1 2
13. s gt slicing Attention Quand on sp cifie un indice de fin l l ment correspondant cet indice est EXCLU Astuce On peut compter les indices entre les cases s 1 4 gt bcd s 2 gt cde s 2 gt ab s 0 4 2 gt ac s 1 gt edcba Note s gt abcde amp tous les l ment de s amp copie des O Note ily a des compl ments sur l affichage et le formatage des chaines dans la suite du cours 14 10 2013 J Y Peterschmitt LSCE 14 Les listes et les tuples O Ce sont des ensembles ordonn s de n importe quels objets python O On acc de donc aux l ments des listes tuples par slicing indexing comme les chaines de caract res M Liste Ist l ment l ment O lst deux 0 f 1 s gt gt gt print lst deux 0 lt open file test_02 py mode r at 0x00BE5800 gt 1 0 abc abc O utile g n ration d une liste de nombres entiers range d but fin pas range 5 gt 0 1 2 3 4 range 5 10 2 gt 5 7 9 Attention Pour les boucles utiliser plut t xrange E Tuple tpl l ment l ment O quivalent une liste la plupart du temps O Isa Un tuple 1 seul l ment se termine par une virgule tpl l ment 14 10 2013 J Y Peterschmitt LSCE 15 Listes exemples d utilisation O Rappel indice du 1 l ment gt 0 Indice du dernier gt N 1 O 1 O Indexation lst
14. teur for comp in composants if comp composants 1 separateur comp comp lower 1f comp atm nom atmosphere elif comp ocn or comp ocean nom ocean elif comp in veg surf nom vegetation else nom other print nom separateur Liste d abr viations traduire Pas besoin d afficher de s parateur apr s le dernier composant D termination du nom du composant Affichage du nom suivi du s parateur sans aller la ligne Le s parateur n est pas affich cha ne vide apr s le dernier l ment print l ext rieur de la boucle pour aller la ligne atmosphere ocean vegetation other Variantes 1 2 54 14 10 2013 J Y Peterschmitt LSCE 20 Les dictionnaires sont tr s utiles O Un dictionnaire permet d associer tr s facilement des cl s nombres cha nes et des valeurs M cr ation d un dictionnaire vide et ajout de valeurs d 11 dicl val dicl 1 Val M cr ation d un dictionnaire pr rempli d cl val cl val M Attention Les dictionnaires ne sont pas ordonn s donc pas de slicing indexing O Exemple d vals 0 11 1 u un p 3 14 E informations sur le contenu len d gt 3 d keys gt vals 1 pi d has_key vals gt True M acc s au contenu d vals gt 0 1 E suppression ajout del d vals gt d 1 un pi 3 14 d one 1 gt d
15. ype l type iL type l type 1j lt type int gt lt type long gt lt type float gt lt type complex gt O Entiers arbitrairement grands E 5 0xff 255 100000L M 2 xx100 gt 1267650600228229401496703205376L m Attention 1 2 gt 0 1 2 gt 0 5 O R els M 3 14 PI est d fini dans math pi et numpy pi E 1 3 gt 0 33333333333333331 M pas de contr le explicite de la pr cision O Il peut y avoir des probl mes de chiffres significatifs 10 15 1 gt 1000000000000001 0 1e16 1 gt 10000000000000000 0 1e16 1 1e16 gt 0 0 O Utiliser le module numpy s il est n cessaire de savoir s ri IPY C pr cis ment ce que l on fait O Complexes E 1j 2 gt 1 0j 14 10 2013 J Y Peterschmitt LSCE Interlude exemple interactif gt which python 3 usr bin python Version de python gt python Python 2 6 6 amp 266 84292 May 27 2013 05 35 12 GCC 4 4 7 20120313 Red Hat 4 4 7 3 on linux2 Type help copyright credits or license for more information gt gt gt ipsl labs LATMOS LISA LMD LOCEAN LPMAA LSCE gt gt gt LSCE in ipsl_ labs Aspect typique du message traceback Traceback most recent call last affich lorsqu une erreur ou exception NameError name LSCE is not defined gt gt gt LSCE in ipsl_ labs Il n y a pas de variable s appelant 1sce True gt gt gt test list Dell LMD NASA Pas besoin d
Download Pdf Manuals
Related Search
Related Contents
M, monde - Collage Milano Sony PCV-RX770 User's Guide ASUS H97M-PLUS J9011 User's Manual Manuale - Gesint Srl Samsung Q1244 Felhasználói kézikönyv オイルキャッチタンクキット 取扱説明書 Samsung WW8PJ3283KW Kullanıcı Klavuzu Principes de mise en réseau & Manuel d`installation réseau pour l Copyright © All rights reserved.
Failed to retrieve file