Formatage de chaînes#
Introduction#
La méthode .format() en Python est utilisée pour créer des chaînes de caractères contenant des variables, des expressions ou des valeurs. Cette méthode remplace les espaces réservés entre accolades {} dans une chaîne par les valeurs fournies à l’intérieur de .format().
def main():
x = 1
y = 5
# Display the variables using .format()
console.print("Position: ({}, {})".format(x, y))
# Start threads — Do not delete
start_thread(main)
def main():
# Display a calculation using .format()
console.print("Sum: {}".format(5 + 3))
# Start threads — Do not delete
start_thread(main)
def main():
wait(1, SECONDS)
# Display the time using .format()
console.print("Time: {}".format(timer.time(SECONDS)))
# Start threads — Do not delete
start_thread(main)
Mise en forme des nombres avec .format – Insérer des valeurs et des expressions dans une chaîne.
:.xf– Définit le nombre de décimales à afficher.round– Arrondit un nombre à un nombre donné de décimales.:,– Ajoute des virgules comme séparateurs de milliers.:.x%– Convertit un nombre décimal en pourcentage avec x décimales.:#x– Formate un nombre en hexadécimal.:b– Formate un nombre en binaire.
Combinaison de chaînes de caractères – Combiner texte et valeurs.
.format()– Combiner des chaînes et des variables dans une seule expression.+ operator– Concaténer manuellement des chaînes avec conversion de type optionnelle.
Méthodes de chaînes de caractères – Modifier la casse du texte.
upper()– Convertit tous les caractères en majuscules.lower()– Convertit tous les caractères en minuscules.
Recherche de sous-chaînes – Test de présence ou de position du texte.
in– Vérifie si un mot existe dans une chaîne.startswith()– Vérifie si une chaîne commence par une valeur donnée.endswith()– Vérifie si une chaîne se termine par une valeur donnée.
Séquences d’échappement – Formatez la sortie avec des caractères spéciaux.
Formatage des nombres avec .format#
La commande .format permet de contrôler l’affichage des nombres, notamment le nombre de décimales, l’arrondi et d’autres styles de mise en forme tels que :
Fixed Decimal Places#
:.xf contrôle le nombre de décimales affichées pour un nombre.
Usage:
:.xf
Paramètres |
Description |
|---|---|
|
Le nombre de décimales à afficher. |
def main():
# Display pi with 2 decimal places
pi = 3.1415926535
console.print("Pi: {:.2f}".format(pi))
# Output: Pi: 3.14
# Start threads — Do not delete
start_thread(main)
Rounding Numbers#
L’option round arrondit un nombre à un nombre spécifique de décimales avant la mise en forme.
Usage:
round(number, x)
Paramètres |
Description |
|---|---|
|
Le nombre à arrondir. |
|
Le nombre de décimales à arrondir. |
def main():
# Display a value rounded to only 2 decimal places
value = 5.6789
console.print("Rounded: {}".format(round(value, 2)))
# Output: Rounded: 5.68
# Start threads — Do not delete
start_thread(main)
Thousands Separator#
:, insère des virgules comme séparateurs de milliers pour rendre les grands nombres plus lisibles.
Usage:
:,
Paramètres |
Description |
|---|---|
Ce spécificateur de format ne comporte aucun paramètre. |
def main():
# Display a large number separated with commas
number = 1234567
console.print("Formatted: ")
console.new_line()
console.print("{:,}".format(number))
# Output: Formatted: 1,234,567
# Start threads — Do not delete
start_thread(main)
Percentage#
:.x% formate les valeurs décimales en pourcentages en multipliant la valeur par 100 et en ajoutant un signe de pourcentage.
Usage:
:.x%
Paramètres |
Description |
|---|---|
|
Le nombre de décimales à afficher. |
def main():
# Display a converted decimal to a percentage
value = 0.875
console.print("Score: {:.1%}".format(value))
# Output: Score: 87.5%
# Start threads — Do not delete
start_thread(main)
Hexadecimal#
:#x convertit les nombres en hexadécimal.
Usage:
:#x
Paramètres |
Description |
|---|---|
Ce spécificateur de format ne comporte aucun paramètre. |
def main():
# Convert 255 to hexadecimal
number = 255
console.print("Hex: {:#x}".format(number))
# Output: Hex: 0xff
# Start threads — Do not delete
start_thread(main)
Binary#
:b convertit les nombres en binaire (base 2).
Usage:
:b
Paramètres |
Description |
|---|---|
Ce spécificateur de format ne comporte aucun paramètre. |
def main():
# Convert 3 to binary
console.print("Binary: {:b}".format(3))
# Output: Binary: 11
# Start threads — Do not delete
start_thread(main)
Combinaison de chaînes#
Vous pouvez combiner (ou concaténer) des chaînes de caractères en utilisant deux approches :
Using .format#
Insérez directement les valeurs dans la chaîne en utilisant {}.
def main():
# Display an answer based on the given emotion
emotion = "good"
console.print("I'm {}, you?".format(emotion))
# Start threads — Do not delete
start_thread(main)
+ Operator#
Assemblez plusieurs parties en utilisant +.
Remarque : Les valeurs non-chaînes doivent d’abord être converties en chaînes à l’aide de str().
def main():
# Display the x and y values
x = 10
y = 20
console.print("X: " + str(x) + ", Y: " + str(y))
# Start threads — Do not delete
start_thread(main)
Méthodes de chaînes de caractères#
Python propose des méthodes intégrées pour modifier et vérifier les chaînes de caractères.
upper#
upper convertit toutes les lettres d’une chaîne en majuscules.
Usage:
upper()
Paramètres |
Description |
|---|---|
Cette méthode ne comporte aucun paramètre. |
def main():
# Capitalize a string with .upper()
message = "vexcode"
console.print(message.upper()) # Output: VEXCODE
# Start threads — Do not delete
start_thread(main)
lower#
lower convertit toutes les lettres d’une chaîne en minuscules.
Usage:
lower()
Paramètres |
Description |
|---|---|
Cette méthode ne comporte aucun paramètre. |
def main():
# Make a string lowercase with .lower()
message = "VEXCODE"
console.print(message.lower()) # Output: vexcode
# Start threads — Do not delete
start_thread(main)
Vérification des sous-chaînes#
in#
in est un mot-clé qui renvoie une valeur booléenne indiquant si une sous-chaîne (mot ou fragment de texte) existe dans une chaîne.
True– Le mot existe dans la chaîne.False– Le mot n’existe pas dans la chaîne.
def main():
message = "Hey everyone!"
if "Hey" in message:
console.print("Hello!")
# Start threads — Do not delete
start_thread(main)
startswith#
La fonction startswith renvoie une valeur booléenne indiquant si une chaîne de caractères commence par une valeur donnée.
True– Le mot commence la chaîne.False– Le mot ne commence pas la chaîne.
Usage:
startswith(substring)
Paramètres |
Description |
|---|---|
|
La sous-chaîne à rechercher au début de la chaîne. |
def main():
# Check for 'GO' at the start of a string
message = "GO Robot"
if message.startswith("GO"):
console.print("GO first!")
# Start threads — Do not delete
start_thread(main)
endswith#
La fonction endswith renvoie une valeur booléenne indiquant si une chaîne de caractères se termine par une valeur donnée.
True– Le mot termine la chaîne.False– Le mot ne termine pas la chaîne.
Usage:
endswith(substring)
Paramètres |
Description |
|---|---|
|
La sous-chaîne à rechercher à la fin de la chaîne. |
def main():
# Check for `Robot` at the end of a string
message = "GO Robot"
if message.endswith("Robot"):
console.print("Robot last!")
# Start threads — Do not delete
start_thread(main)
Séquences d’évasion#
Les séquences d’échappement sont des caractères spéciaux utilisés dans les chaînes de caractères pour formater le texte affiché.
New Line#
\n déplace le texte à une nouvelle ligne lors de l’impression.
def main():
# Display text on two lines
console.print("First line\nSecond line")
# Start threads — Do not delete
start_thread(main)
Tab Spacing#
\t insère une tabulation entre les mots ou les chiffres.
def main():
# Display the quantity of disks
quantity = 2
console.print("Disks:\t", quantity)
# Start threads — Do not delete
start_thread(main)