Outils pour utilisateurs

Outils du site


issue78:tuto_python

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
issue78:tuto_python [2013/12/07 12:17] – créée andre_domenechissue78:tuto_python [2014/03/22 20:14] (Version actuelle) fredphil91
Ligne 1: Ligne 1:
 +==== 1 ====
 +**
 Welcome back. It’s hard to imagine that it’s been 4 years since I began this series. I thought that I’d shelve the media manager project for a bit and return to some basics of Python programming. Welcome back. It’s hard to imagine that it’s been 4 years since I began this series. I thought that I’d shelve the media manager project for a bit and return to some basics of Python programming.
  
Ligne 14: Ligne 16:
  
 Python 2.x Python 2.x
 +**
  
 +Bienvenue à nouveau.
 +
 +Il est difficile d'imaginer que ça fait 4 ans que j'ai commencé cette série. Je pensais laisser de côté le projet de gestionnaire de média un instant et revenir à certaines bases de la programmation Python.
 +
 +Ce mois-ci, je vais revisiter la commande d'affichage (print). C'est l'une des fonctions les plus utilisées (au moins dans ma programmation) qui semble ne jamais obtenir le détail qu'elle mérite. Il y a beaucoup de choses que vous pouvez faire avec elle en dehors du basique '%s %d'.
 +
 +Puisque la syntaxe de la fonction print est différente entre Python 2.x et 3.x, nous allons les examiner séparément. Rappelez-vous, cependant, que vous pouvez utiliser la syntaxe 3.x dans Python 2.7. La plus grande part de tout ce que je vous présente ce mois-ci se fera à partir de la ligne de commande interactive. Vous pouvez suivre au fur et à mesure. Le code ressemblera à ceci :
 +
 +>>> a = "Salut Python"
 +
 +>>> print("La chaine a est %s" % a)
 +
 +et la sortie sera en gras, comme ceci :
 +
 +La chaine a est Salut Python
 +
 +Python 2.x
 +
 +**
 Of course you remember the simple syntax for the print function in 2.x uses the variable substitution of %s or %d for simple strings or decimals. But many other formatting options are available. For example, if you need to format a number with leading zeros, you can do it this way: Of course you remember the simple syntax for the print function in 2.x uses the variable substitution of %s or %d for simple strings or decimals. But many other formatting options are available. For example, if you need to format a number with leading zeros, you can do it this way:
  
Ligne 27: Ligne 49:
  
 PI = 3.142. PI = 3.142.
 +**
  
 +Bien sûr, vous vous souvenez que la syntaxe simple pour la fonction print en 2.x utilise la substitution de variable de %s ou %d pour les chaînes simples ou les nombres décimaux. Mais beaucoup d'autres options de mise en forme sont disponibles. Par exemple, si vous avez besoin de formater un nombre avec des zéros à gauche, vous pouvez le faire de cette façon :
 +
 +>>> print("Votre valeur est %03d" % 4)
 +Votre valeur est 004
 +
 +Dans ce cas, nous utilisons la commande de format '%03d' pour dire « Afficher le nombre sur une largeur de 3 caractères et, si nécessaire, complétée avec des zéros à gauche ».
 +
 +>>> pi = 3.14159
 +
 +>>> print('PI = %5.3f.' % pi)
 +
 +PI = 3.142.
 +
 +==== 2 ====
 +**
 Here we use the float formatting option. The ‘%5.3f’ says to produce an output with a total width of five and three decimal places. Notice that the decimal point takes up one of the places of the total width. Here we use the float formatting option. The ‘%5.3f’ says to produce an output with a total width of five and three decimal places. Notice that the decimal point takes up one of the places of the total width.
  
Ligne 39: Ligne 77:
  
 The following table shows the various possible substitution keys and their meanings. The following table shows the various possible substitution keys and their meanings.
 +**
  
 +Ici, nous utilisons l'option de format en virgule flottante. Le '%5.3f' dit de produire une sortie d'une largeur totale de cinq avec trois décimales. Notez que le point décimal occupe l'un des emplacements de la largeur totale.
 +
 +Une autre chose que vous pourriez ne pas avoir réalisé est que vous pouvez utiliser les clés d'un dictionnaire dans le cadre de la commande format.
 +
 +>>> info = {"Prenom":"Fred","Nom":"Farkel","Ville":"Denver"}
 +
 +>>> print('Bienvenue %(Prenom)s %(Nom)s de %(Ville)!' % info)
 +
 +Bienvenue Fred Farkel de Denver!
 +
 +Le tableau suivant présente les différentes clés de substitution possibles et leurs significations.
 +
 +**
 Python 3.x Python 3.x
  
Ligne 57: Ligne 109:
 This version of Python is 3.3.2 This version of Python is 3.3.2
  
 +**
 +
 +Python 3.x
 +
 +Avec Python 3.x, nous avons beaucoup plus d'options (souvenons-nous que nous pouvons les utiliser dans Python 2.7) quand il s'agit de la fonction print.
 +
 +Pour vous rafraîchir la mémoire, voici un exemple simple de la fonction print en 3.x.
 +
 +>>> print('{0} {1}'.format("Salut","Python"))
 +Salut Python
 +
 +>>> print("Python est {0} sympa !".format("SUPER"))
 +Python est SUPER sympa !
 +
 +Les champs de remplacement sont enfermés dans des accolades "{" "}". Tout ce qui est en dehors de celles-ci est considéré comme littéral, et sera imprimé tel quel. Dans le premier exemple, on a numéroté les champs de remplacement 0 et 1. Cela indique à Python de prendre la première (0)  valeur et la mettre dans le champ {0} et ainsi de suite. Cependant, vous n'avez pas à utiliser les numéros du tout. Utiliser cette option implique que la première valeur soit placée dans la première série de crochets et ainsi de suite.
 +
 +>>> print("Cette version de {} est {}".format("Python","3.3.2"))
 +Cette version de Python est 3.3.2
 +
 +
 +==== 3 ====
 +**
 As they say on the TV ads, “BUT WAIT… THERE’S MORE”. If we wanted to do some inline formatting, we have the following options. As they say on the TV ads, “BUT WAIT… THERE’S MORE”. If we wanted to do some inline formatting, we have the following options.
  
Ligne 71: Ligne 145:
 >>> print("|{:^20}|".format("Center")) >>> print("|{:^20}|".format("Center"))
 |       Center       | |       Center       |
 +**
  
 +Comme ils le disent sur les publicités télévisées, « MAIS ATTENDEZ ... IL Y A PLUS ». Si nous avions voulu faire une mise en forme en ligne, nous avons les options suivantes :
 +
 +:<x alignement à gauche avec une largeur de x
 +:>x alignement à droite avec une largeur de x
 +:^x alignement centré avec une largeur de x
 +
 +Voici un exemple :
 +
 +>>> print("|{:<20}|".format("A gauche"))
 +|A gauche            |
 +>>> print("|{:>20}|".format("A droite"))
 +|            A droite|
 +>>> print("|{:^20}|".format("Centré"))
 +|       Centré       |
 +
 +
 +**
 You can even specify a fill character along with the justification/width. You can even specify a fill character along with the justification/width.
  
Ligne 93: Ligne 185:
  
 Well, that should give you enough food for thought for this month. I’ll see you at the start of the 5th year. Well, that should give you enough food for thought for this month. I’ll see you at the start of the 5th year.
 +**
 +
 +Vous pouvez même spécifier un caractère de remplissage avec la justification ou la largeur :
 +
 +>>> print("{:*>10}".format(321.40))
 +*****321.4
 +
 +Si vous avez besoin de formater une sortie de date ou d'heure, vous pouvez faire quelque chose comme ceci :
 +
 +>>> d = datetime.datetime(2013,10,29,10,45,1)
 +
 +>>> print("{:%d/%m/%y}".format(d))
 +29/10/13
 +
 +>>> print("{:%H:%M:%S}".format(d))
 +10:45:01
 +
 +Afficher le séparateur des milliers en utilisant une virgule (ou tout autre caractère) est simple.
 +
 +>>> print("Voici un grand nombre {:.}".format(7219219281))
 +Voici un grand nombre 7.219.219.281
 +
 +Eh bien, cela devrait vous donner assez de nourriture pour la pensée pendant ce mois. Je vous revois au début de la 5e année.
  
issue78/tuto_python.1386415078.txt.gz · Dernière modification : 2013/12/07 12:17 de andre_domenech