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

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
issue78:tuto_python [2014/03/11 18:14] – [1] frangiissue78:tuto_python [2014/03/22 20:14] (Version actuelle) fredphil91
Ligne 24: Ligne 24:
 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'. 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:+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 = "Hello Python"+>>> a = "Salut Python"
  
->>> print("String is %s" % a)+>>> print("La chaine est %s" % a)
  
-et la sortie sera en gras, comme ceci:+et la sortie sera en gras, comme ceci :
  
-String is Hello Python+La chaine est Salut Python
  
 Python 2.x Python 2.x
Ligne 51: Ligne 51:
 ** **
  
-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:+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("Your value is %03d" % 4) +>>> print("Votre valeur est %03d" % 4) 
-Your value is 004+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".+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 >>> pi = 3.14159
Ligne 75: Ligne 75:
  
 Greetings Fred Farkel of Denver! Greetings Fred Farkel of Denver!
-** 
  
-** 
 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 93: Ligne 105:
  
 The replacement fields are enclosed within curly brackets “{“ “}”. Anything outside of these are considered a literal and will be printed as is. In the first example, we have numbered the replacement fields 0 and 1. That tells Python to take the first (0) value and put it into the field {0} and so on. However, you don’t have to use any numbers at all. Using this option causes the first value to be places in the first set of brackets and so on. The replacement fields are enclosed within curly brackets “{“ “}”. Anything outside of these are considered a literal and will be printed as is. In the first example, we have numbered the replacement fields 0 and 1. That tells Python to take the first (0) value and put it into the field {0} and so on. However, you don’t have to use any numbers at all. Using this option causes the first value to be places in the first set of brackets and so on.
-** 
  
-==== 3 ==== 
-** 
 >>> print("This version of {} is {}".format("Python","3.3.2")) >>> print("This version of {} is {}".format("Python","3.3.2"))
 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 116: Ligne 147:
 ** **
  
-==== 4 ====+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 140: Ligne 186:
 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.1394558072.txt.gz · Dernière modification : 2014/03/11 18:14 de frangi