[Python] Simplifiez la fonction de format (Qu'est-ce qu'une chaîne f? Expliquez la différence avec la fonction de format avec un exemple)

[Python] Simplifiez la fonction de format (Qu'est-ce qu'une chaîne f? Expliquez la différence avec la fonction de format avec un exemple)

f-string est une méthode de description simple pour la fonction format.

Une fois que vous vous souvenez de la forme, la description de base est la même que la fonction de formatage.

table des matières

  1. [Qu'est-ce que la f-string? ](Qu'est-ce que # 1-f-string)
  2. [Différences entre f-strign et fonction de format](# 2-Différences entre f-strign et fonction de format)
  3. [Syntaxe de base de la f-string](# 3-Syntaxe de base de la f-string)
  4. [Exemple](# 4-Exemple)
  5. [Chaîne de caractères de remplacement et valeur numérique](# Chaîne de caractères de remplacement et valeur numérique)
  6. [Spécifiez le placement de l'élément](#Specify le placement de l'élément)
  7. [Combler le vide](#Remplir le vide)
  8. Format de la date (#Format Date)

## 1. Qu'est-ce que la f-string? Une autre façon d'écrire la fonction de format. Il est plus facile d'écrire que la fonction foramt. Il est devenu disponible relativement récemment.

Il est disponible depuis python3.6 (publié en décembre 2016).

Sur la page officielle, il s'appelle "Formatted String Literal".

Cliquez ici pour plus de détails (http://docs.python.org/ja/3.6/reference/lexical_analysis.html#f-strings)


## 2. Différences entre f-strign et fonction de format

-La description est plus simple avec f-string. -La fonction de format a un degré de liberté légèrement supérieur. └ (On peut dire que de nombreux modèles sont compliqués)

▼ Caractéristiques de f-string

・ Code simple ・ Tout spécifier avec des variables ・ Décrire les variables et les formats comme un ensemble └ Facile à comprendre quel format est donné à quelle variable

▼ Caractéristiques de la fonction de format

-Une valeur numérique ou une chaîne de caractères peut être directement spécifiée pour la valeur à affecter. ・ Vous pouvez laisser vide dans {}. (Le numéro d'index est attribué automatiquement) ・ Peut être spécifié par numéro d'index


## 3. Syntaxe de base de la chaîne f `f'{A}'` └ "f": Décrit au début. Les lettres majuscules sont OK └ "''": écrivez une phrase. "" "Et" "" "sont OK └ "{}": Décrivez la variable à affecter et le format └ "A": variable à attribuer (facultatif)

Identique à la fonction de format, sauf en utilisant "f ''". ":" Motif avec le formatage suivant omis


** ▼ Lors du formatage ** `f'{A:0<10}'` └ ":": Décrivez le format ci-dessous └ "0": caractère pour combler le vide (facultatif) └ "<": Disposition des caractères ( justifié à droite, ^ justifié au centre) └ "10": largeur. Spécifié par le nombre de morsures  

La méthode de réglage du format est la même que la fonction de format. Cliquez ici pour plus de détails (https://qiita.com/yuta-38/items/9a93eea10ccc7ac2c8ad)


## 4. Exemple

Remplacer les chaînes et les nombres

"" Je m'appelle AAA. Je mesure 111 cm. Mon plat préféré est BBB ""

■f-string

f-string


a='AAA'
b=111
c='BBB'

f'mon nom est{a}est. Quelle est votre taille{b}cm. Quel est votre plat préféré{c}'

#production
# 'Mon nom est AAA. La hauteur est de 111 cm. Ma nourriture préférée est BBB'

#### ■ fonction de format Plusieurs modèles peuvent être spécifiés.

** Fonction de formatage ▼ ① ** .format('AAA', 111, 'BBB')

fonction de formatage ①


'mon nom est{}est. Quelle est votre taille{}cm. Quel est votre plat préféré{}'.format('AAA', 111, 'BBB')

#production
# 'Mon nom est AAA. La hauteur est de 111 cm. Ma nourriture préférée est BBB'

Il est appliqué dans {} dans l'ordre décrit dans () de format.

Une erreur se produit si le nombre de {} est supérieur au nombre d'éléments spécifié dans format.


** Fonction de formatage ▼ ② ** `.format(a, b, c)`

fonction de formatage ②


a='AAA'
b=111
c='BBB'
'mon nom est{}est. Quelle est votre taille{}cm. Quel est votre plat préféré{}'.format(a, b, c)

#production
# 'Mon nom est AAA. La hauteur est de 111 cm. Ma nourriture préférée est BBB'

** Fonction de format ▼ ③ spécification de nombre ** `.format(c, b, a)`

fonction de format ③ spécification numérique


a='AAA'
b=111
c='BBB'

'mon nom est{2}est. Quelle est votre taille{1}cm. Quel est votre plat préféré{0}'.format(c, b, a)

#production
# 'Mon nom est AAA. La hauteur est de 111 cm. Ma nourriture préférée est BBB'

** Fonction de formatage ▼ ④ Spécifier par nom ** `.format(height='111', favorit='BBB', name='AAA')`

fonction de format ③ spécification numérique


'mon nom est{name}est. Quelle est votre taille{height}cm. Quel est votre plat préféré{favorit}'.format(height='111', favorit='BBB', name='AAA')

#production
# 'Mon nom est AAA. La hauteur est de 111 cm. Ma nourriture préférée est BBB'

Il existe de nombreux modèles qui peuvent être spécifiés par la fonction de formatage, mais il est délicat de savoir si tous sont nécessaires lors de son utilisation réelle.

Il semble qu'une f-string puisse le gérer.

Exemple de formatage de chaîne f

Le formatage est identique à la fonction de formatage. (Fonction de formatage)

■ Spécification du placement des éléments

f'{a:^n} └ Formatage après ":" └ "^" centre justifié ("<" justifié à gauche, ">" justifié à droite) └ "n" entier. Indiquez l'écart par le nombre de morsures

  • Le placement du texte n'a aucun sens à moins qu'un espace ne soit spécifié.

Justifié à droite


a= 'AAA'
f'mon nom est{a:^9}est'

#production
# 'Mon nom est AAA'

### ■ Comblez le vide

** ▼ Remplir avec 0 (0 remplissage) **

f'{a:0>n} └ Préfixez le symbole de spécification de placement d'élément (ici, ">") avec 0

0 remplissage


a= 'AAA'
f'mon nom est{a:0>9}est'

#production
# 'Mon nom est 000000 AAA'

** ▼ Remplissez tous les caractères **

f'{a:Z>n} └ Insérez le caractère que vous souhaitez remplir avant le symbole de spécification de placement d'élément (ici, ">") └ Les symboles, lettres et chiffres sont OK └ Un seul caractère.

Remplir de caractères arbitraires


a= 'AAA'
f'mon nom est{a:e>9}est'

#production
# 'Mon nom est ouais ouais ouais AAA'

■ Formater la date

f '{A:% Y année% # m mois% # d jour}' └ Variable «A» contenant des données de date └ Décrivez le format de la date ci-dessous ":" └ "% Y" 4 chiffres └ Mois sans "% # m" 0 ("% -m" pour Mac) └ "% # d" mois sans 0 ("% -d" pour Mac)

Pour les types de spécificateurs (% Y,% m, etc.) [ici](https://qiita.com/yuta-38/items/ba6dce967ede22e37c60#%E6%97%A5%E4%BB%98%E3% 81% AE% E6% 8C% 87% E5% AE% 9A% E5% AD% 90% E4% B8% 80% E8% A6% A7)

Format de la date


import datetime as dt
past = dt.date(2017,1,3)  #datetime.date(2017, 1, 3)

f'{past:%Y année%#m mois%#jour j}'

#production
# f'{past:%Y année%#m mois%#jour j}'

Puisque les variables et les formats sont définis comme {variable: format}, il est facile de comprendre quel format est défini pour quoi.

Dans la fonction format, la visibilité est réduite car elle est spécifiée par le numéro d'index.

Formater la date avec la fonction de format


import datetime as dt
past = dt.date(2017,1,3)
now = dt.date(2020,1,28)
future = dt.date(2022,1,30)

"Dans les vieux jours{0:%Y année%#m mois%#jour j}.. maintenant{1:%Y/%#m/%#d}.. L'avenir est{2:%y%m%d}。".format(past, now, future)

### Autre Vous pouvez utiliser la fonction format pour spécifier une virgule dans les milliers, un signe moins dans le nombre, l'affichage exponentiel et le nombre de chiffres de la virgule décimale.

[Cliquez ici pour plus de détails](https://qiita.com/yuta-38/items/9a93eea10ccc7ac2c8ad#format%E9%96%A2%E6%95%B0%E3%81%A7%E3%81%A7%E3% 81% 8D% E3% 82% 8B% E3% 81% 93% E3% 81% A8)

Recommended Posts

[Python] Simplifiez la fonction de format (Qu'est-ce qu'une chaîne f? Expliquez la différence avec la fonction de format avec un exemple)
[Python] Explique comment utiliser la fonction format avec un exemple
[Python] Explique la différence entre strftime et strptime dans le module datetime avec un exemple
Expliquons l'allocation d'actifs par le modèle Black Ritterman (avec un exemple d'exécution par Python)
Qu'est-ce que Dieu? Créez un chatbot simple avec python
[Python] Assurez-vous que la fonction reçue est une fonction définie par l'utilisateur
Quelle est la fonction d'activation?
Qu'est-ce que la fonction de rappel?
[Python] Qu'est-ce qu'une tranche? Une explication facile à comprendre de son utilisation avec un exemple concret
[Python] Qu'est-ce que pip? Expliquez la liste des commandes et comment l'utiliser avec des exemples réels
Considérez ce que vous pouvez faire avec Python dans l'article Qiita
J'ai essayé de créer une fonction de similitude d'image avec Python + OpenCV
[Python] Qu'est-ce qu'une fonction zip?
[Python] Qu'est-ce qu'une instruction with?
[Python] Qu'est-ce que @? (À propos des décorateurs)
[python] Quelle est la clé triée?
[Python] Faire de la fonction une fonction lambda
À quoi sert le trait de soulignement Python (_)?
Python> Qu'est-ce qu'une tranche étendue?
[Introduction à Python] Quelle est la différence entre une liste et un taple?
[Python] Explique comment utiliser la fonction range avec un exemple concret
[Exemple d'amélioration de Python] Quel est le site d'apprentissage recommandé pour les débutants en Python?
[Introduction à Python] Comment écrire une chaîne de caractères avec la fonction format
[Introduction à Python] Quelle est la méthode de répétition avec l'instruction continue?
Rendre la console Python couverte d'UNKO
Qu'est-ce que "mahjong" dans la bibliothèque Python? ??
Scraping depuis un site authentifié avec python
Rendre la bibliothèque créée par Eigen of C ++ disponible à partir de Python avec Boost.Numpy.
Comprenez-vous correctement l'intervalle de confiance? Quelle est la différence avec la section sur les condamnations?
Qu'est-ce qu'un algorithme? Introduction à l'algorithme de recherche] ~ Python ~
Quelle est la différence entre «pip» et «conda»?
Qu'est-ce que wheezy dans l'image Docker Python?
J'ai essayé Python! ] Diplômé aujourd'hui de "Tout le monde Python! Qu'est-ce que Python!"!
À propos de la différence entre "==" et "is" en python
Rendre OpenCV3 disponible à partir de python3 installé avec pyenv
Remarque pour le formatage des nombres avec la fonction de format python
Générez une instruction d'insertion à partir de CSV avec Python.
Que comparez-vous avec Python et ==?
Convertir JSON en CSV avec Python de Splunk
Quelle est la différence entre Unix et Linux?
[Introduction à Python] Quel est l'important "if __name__ == '__ main__':" lorsqu'il s'agit de modules?