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:25] – [2] 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 83: Ligne 83:
 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. 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 = {"FName":"Fred","LName":"Farkel","City":"Denver"}+>>> info = {"Prenom":"Fred","Nom":"Farkel","Ville":"Denver"}
  
->>> print('Greetings %(FName)s %(LName)s of %(City)s!' % info)+>>> print('Bienvenue %(Prenom)s %(Nom)s de %(Ville)!' % info)
  
-Greetings Fred Farkel of Denver!+Bienvenue Fred Farkel de Denver!
  
 Le tableau suivant présente les différentes clés de substitution possibles et leurs significations. Le tableau suivant présente les différentes clés de substitution possibles et leurs significations.
Ligne 113: Ligne 113:
 Python 3.x 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.+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. Pour vous rafraîchir la mémoire, voici un exemple simple de la fonction print en 3.x.
  
->>> print('{0} {1}'.format("Hello","Python")) +>>> print('{0} {1}'.format("Salut","Python")) 
-Hello Python+Salut Python
  
->>> print("Python is {0} cool!".format("WAY")) +>>> print("Python est {0} sympa !".format("SUPER")) 
-Python is WAY cool!+Python est SUPER sympa !
  
-Les champs de remplacement sont enfermées 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.+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("This version of {} is {}".format("Python","3.3.2")) +>>> print("Cette version de {} est {}".format("Python","3.3.2")) 
-This version of Python is 3.3.2+Cette version de Python est 3.3.2
  
  
 ==== 3 ==== ==== 3 ====
 ** **
->>> print("This version of {} is {}".format("Python","3.3.2")) 
-This version of Python is 3.3.2 
- 
 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 150: 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 174: 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.1394558752.txt.gz · Dernière modification : 2014/03/11 18:25 de frangi