[Introduction à Python3 Jour 15] Chapitre 7 Chaînes de caractères (7.1.2-7.1.2.2)

7.1.2 Formatage

7.1.2.1 Style avec%


#Chaîne
>>> "%s" % 42
`42`
#Entier décimal
>>> "%d" % 42
`42`
#Entier hexagonal
>>> "%x" % 42
`2a`
#Huitième entier
>>> "%o" % 42
`52`

#Flotteur décimal
>>> "%f" % 7.03
`7.030000`
#Flotteur de forme exponentielle
>>> "%e" % 7.03
`7.030000e+00`
#Dépend de la taille du chiffre%g (Flottant décimal ou flottant exponentiel)
>>> "%g" % 7.03
`7.03`
#Entier et littéral%
>>> "%d%%" % 100
`100%`

>>> actor = "Richard Gere"
>>> cat="Chester"
>>> weight=28
#Insérer une chaîne
>>> "My wife is favorite actor is %s" % actor
`My wife is favorite actor is Richard Gere`
#Lors de l'insertion de plusieurs chaînes de caractères(cat,weight)Doit être assemblé dans un taple comme celui-ci.
>>> "Our cat %s weights %s pounds" % (cat,weight)
'Our cat Chester weights 28 pounds'

>>> n = 42
>>> f=7.03
>>> s="string cheese"
#Affichage avec la largeur par défaut.
>>> "%s %f %s" %(n,f,s)
'42 7.030000 string cheese'
#Une largeur minimale de 10 a été fixée pour chaque variable et justifiée à droite.
>>> "%10s %10f %10s" %(n,f,s)
'        42   7.030000 string cheese'
#Aligné à gauche en utilisant la même largeur.
>>> "%-10s %-10f %-10s" %(n,f,s)
'42         7.030000   string cheese'
#La largeur du champ est la même et la limite supérieure du nombre de caractères est définie sur 4 et alignée à droite. Si vous faites cela, une partie de la chaîne de caractères sera tronquée et il y aura 4 chiffres après la virgule décimale.
>>> "%10.4d %10.4f %10.4s" %(n,f,s)
'      0042     7.0300       stri'
#Limitez le nombre de caractères sans spécifier la limite inférieure de la largeur du champ.
>>> "%.4d %.4f %.4s" %(n,f,s)
'0042 7.0300 stri'
#Largeur du champ et nombre de caractères*Argument de
>>> "%*.*d %*.*f %*.*s" %(10,4,n,10,4,f,10,4,s)
'      0042     7.0300       stri'

7.1.2.2 Nouveau style avec {} et formatage


>>> "{} {} {}".format(n,f,s)
`42 7.03 string cheese`

#{}Le nombre entre indique l'index au format.
>>> "{2} {0} {1}".format(n,f,s)
`string cheese 42 7.03`

#L'argument peut être un dictionnaire ou un argument mot-clé. Et il est également possible de mettre la clé et le nom dans la spécification de format.
>>> "{n} {f} {s}".format(n=42,f=7.03,s="string cheese")
`42 7.03 string cheese`


>>> d={"n":42,"f":7.03,"s":"string cheese"}
#{0}Est le format()Fait référence au dictionnaire appelé argument d dans.
#{2}Est le format()Fait référence à la chaîne de caractères autre dans l'argument.
>>> "{0[n]} {0[f]} {0[s]} {1}".format(d,"other")
`42 7.03 string cheese other`

#%Au lieu de:Peut être utilisé.
>>> "{0:d} {1:f} {2:s}".format(n,f,s)
`42 7.030000 string cheese`
#Spécifié par un argument de mot-clé
>>> "{n:d} {f:f} {s:s}".format(n=42,f=7.03,s="string cheese")
`42 7.030000 string cheese`
#L'alignement à droite par défaut avec la limite inférieure de la largeur du champ définie sur 10.
>>> "{0:10d} {1:10f} {2:10s}".format(n,f,s)
`        42   7.030000 string cheese`
#Même alignement à droite que ci-dessus, mais>Il est plus facile à comprendre en utilisant.
>>> "{0:>10d} {1:>10f} {2:>10s}".format(n,f,s)
`        42   7.030000 string cheese`
#Justifié à gauche
>>> "{0:<10d} {1:<10f} {2:<10s}".format(n,f,s)
`42         7.030000   string cheese`

#Centré
>>> "{0:^10d} {1:^10f} {2:^10s}".format(n,f,s)
`    42      7.030000  string cheese`

#Contrairement à l'ancien style, la précision spécifiée après la virgule décimale spécifie le nombre de chiffres après la virgule décimale pour float et la limite supérieure du nombre de caractères pour les chaînes de caractères, mais elle ne peut plus être utilisée avec des entiers.
>>> "{0:>10.4d} {1:>10.4f} {2:>10.4s}".format(n,f,s)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: Precision not allowed in integer format specifier
>>> "{0:>10d} {1:>10.4f} {2:>10.4s}".format(n,f,s)
`        42     7.0300       stri`

#:En spécifiant immédiatement après et avant de spécifier l'alignement et la largeur, les espaces dans le champ de sortie peuvent être remplis avec des caractères autres que des espaces.
>>> "{0:!^20s}".format("BIG SALE")
`!!!!!!BIG SALE!!!!!!`

Impressions

La fréquence de mise à jour est devenue vacante récemment. La publication était un peu bâclée. .. ..

Je suis un étudiant, mais j'ai du mal avec la base de données du chapitre 8. L'histoire de la base de données est si abstraite qu'il est difficile de rentrer dans mon esprit, mais il me semblait que j'obtenais une erreur même si je procédais selon l'histoire principale. Demain, je prendrai le temps de refaire le chapitre 8. La suite du chapitre 7 sera publiée demain.

Les références

"Introduction à Python3 par Bill Lubanovic (publié par O'Reilly Japon)"

"Tutoriel Python 3.8.1 Document 7. Entrée et sortie" https://docs.python.org/ja/3/tutorial/inputoutput.html#old-string-formatting

Recommended Posts

[Introduction à Python3 Jour 13] Chapitre 7 Chaînes de caractères (7.1-7.1.1.1)
[Introduction à Python3 Jour 15] Chapitre 7 Chaînes de caractères (7.1.2-7.1.2.2)
[Introduction à Python3 Day 21] Chapitre 10 Système (10.1 à 10.5)
[Introduction à Python3, jour 17] Chapitre 8 Destinations de données (8.1-8.2.5)
[Introduction à Python3, jour 17] Chapitre 8 Destinations de données (8.3-8.3.6.1)
[Introduction à Python3 Jour 19] Chapitre 8 Destinations de données (8.4-8.5)
[Introduction à Python3 Jour 2] Chapitre 2 Composants Py: valeurs numériques, chaînes de caractères, variables (2.1)
[Introduction à Python3 Jour 4] Chapitre 2 Composants Py: valeurs numériques, chaînes de caractères, variables (2.3.7 à 2.4)
[Introduction à Python3, jour 22] Chapitre 11 Traitement parallèle et mise en réseau (11.1 à 11.3)
[Introduction à Python3 Jour 11] Chapitre 6 Objets et classes (6.1-6.2)
[Introduction à Python3, Jour 23] Chapitre 12 Devenir un Paisonista (12.1 à 12.6)
[Introduction à Python3 Jour 20] Chapitre 9 Démêler le Web (9.1-9.4)
[Introduction à Python3 Jour 8] Chapitre 4 Py Skin: Structure du code (4.1-4.13)
[Introduction à Python3 Jour 1] Programmation et Python
[Introduction à l'application Udemy Python3 +] 11. Chaîne de caractères
Introduction à la vérification de l'efficacité Chapitre 1 écrit en Python
Introduction au langage Python
Introduction à OpenCV (python) - (2)
[Introduction à Python3 Jour 7] Chapitre 3 Outils Py: Listes, Taples, Dictionnaires, Ensembles (3.3-3.8)
[Introduction à Python3 Jour 10] Chapitre 5 Boîte cosmétique de Py: modules, packages, programmes (5.4-5.7)
[Introduction à Python3 Jour 9] Chapitre 5 Boîte cosmétique de Py: modules, packages, programmes (5.1-5.4)
[Introduction à Python3 Jour 6] Chapitre 3 Liste des outils Py, tapple, dictionnaire, set (3.2.7-3.2.19)
Introduction à la vérification de l'efficacité Chapitre 3 écrit en Python
Introduction à la vérification de l'efficacité Chapitre 2 écrit en Python
Introduction à Python Django (2) Win
Introduction à la communication série [Python]
[Introduction à Python] <liste> [modifier le 22/02/2020]
Introduction à Python (version Python APG4b)
Une introduction à la programmation Python
Introduction à Python pour, pendant
[Chapitre 5] Introduction à Python avec 100 coups de traitement du langage
[Chapitre 3] Introduction à Python avec 100 coups de traitement du langage
[Chapitre 2] Introduction à Python avec 100 coups de traitement du langage
[Livre technique] Introduction à l'analyse de données avec Python -1 Chapitre Introduction-
[Chapitre 4] Introduction à Python avec 100 coups de traitement du langage
[Présentation de l'application Udemy Python3 +] 58. Lambda
[Présentation de l'application Udemy Python3 +] 31. Commentaire
Introduction à la bibliothèque de calcul numérique Python NumPy
Entraine toi! !! Introduction au type Python (conseils de type)
[Présentation de l'application Udemy Python3 +] 57. Décorateur
[Introduction à Python] Comment analyser JSON
[Présentation de l'application Udemy Python3 +] 56. Clôture
Introduction à Protobuf-c (langage C ⇔ Python)
[Présentation de l'application Udemy Python3 +] 59. Générateur
[Introduction à Python] Utilisons les pandas
[Introduction à Python] Utilisons les pandas
[Introduction à l'application Udemy Python3 +] Résumé
Python Jour 1
Introduction à l'analyse d'image opencv python
[Introduction à Python] Utilisons les pandas
Premiers pas avec Python pour les non-ingénieurs
Introduction à Python Django (2) Édition Mac
[AWS SAM] Présentation de la version Python
[Tutoriel Python] Une introduction facile à Python
Mémo d'apprentissage Python pour l'apprentissage automatique par Chainer Chapitre 10 Introduction à Cupy
J'ai lu "Renforcer l'apprentissage avec Python de l'introduction à la pratique" Chapitre 1
[Introduction à l'application Udemy Python3 +] 12. Indexation et découpage des chaînes de caractères
Mémo d'apprentissage Python pour l'apprentissage automatique par Chainer Chapitre 9 Introduction à scikit-learn
J'ai lu "Renforcer l'apprentissage avec Python de l'introduction à la pratique" Chapitre 2
[Introduction à Udemy Python3 + Application] 63. Notation d'inclusion du générateur