Participer au site avec un Tip
Rechercher
 

Améliorations / Corrections

Vous avez des améliorations (ou des corrections) à proposer pour ce document : je vous remerçie par avance de m'en faire part, cela m'aide à améliorer le site.

Emplacement :

Description des améliorations :

Classe « str » Python 3.12.1

Méthode builtins.str.center

Signature de la méthode center

 def center(self, width, fillchar=' ') -> str

Description

Cette méthode produit une nouvelle chaîne de caractères de taille width avec son contenu centré. Il est possible de spécifier le caractère de remplissage (par défaut, un espace).

>>> "toto".center(10)
'   toto   '
>>> "toto".center(10, '-')
'---toto---'
>>>

Si la chaîne de caractères à centrer est plus grande que la taille spécifiée, alors le résultat produit sera équivalent à la chaîne courante.

>>> "Une super chaîne de caractères".center(10)
'Une super chaîne de caractères'
>>>
les chaînes de caractères Python sont immutables. La chaîne originale ne sera donc pas altérée et une copie de la chaîne, centrée, vous sera retournée.

help(str.center)

Return a centered string of length width.

Padding is done using the specified fill character (default is a space).

Paramètres

ParamètreDescription
 self : str 
La chaîne de caractères courante. Rappel : self est implicitement passée lors de l'appel de la méthode.
 width : int 
La taille de la chaîne centrée à produire.
 fillchar : str = ' ' 
Le caractère de remplissage utilisé pour le centrage de la chaîne à produire. Attention, si vous passez plus d'un caractère, une exception sera déclenchée.

Valeur de retour

La valeur de retour est de type str.

Une copie, centrée, de la chaîne de caractères passée en paramètre.

Exception

Exemple(s) de code

 1 
 2 
 3 
 4 
 5 
 6 
 7 
 8 
 9 
 10 
 11 
 12 
 13 
 14 
 15 
 16 
 17 
 18 
 19 
 20 
 21 
 22 
 23 
 24 
 25 
 26 
 27 
 28 
 29 
#!/usr/bin/python3

spies = [
    {"first_name": "James", "last_name": "Bond"},
    {"first_name": "Jason", "last_name": "Bourne"},
    {"first_name": "Marguaretha", "last_name": "Zelle"},
    {"first_name": "Hubert", "last_name": "Bonnisseur De La Bath"},
    {"first_name": "Ethan", "last_name": "Hunt"}
]

first_name_max_length = 6   # Prénom
last_name_max_length = 3    # Nom

for spy in spies:
    if len(spy["first_name"]) > first_name_max_length:
        first_name_max_length = len(spy["first_name"])
    if len(spy["last_name"]) > last_name_max_length:
        last_name_max_length = len(spy["last_name"])
        
separator = "+" + (first_name_max_length * "-") + "+" + (last_name_max_length * "-") + "+"

print(separator)
print("|%s|%s|" % ("Prénom".center(first_name_max_length), 
                   "Nom".center(last_name_max_length)))
print(separator)
for spy in spies:
    print("|%s|%s|" % (spy["first_name"].center(first_name_max_length), 
                       spy["last_name"].center(last_name_max_length)))
print(separator)
Exemple d'utilisation de la méthode center

Et voici les résultats produits par cet exemple.

$> python3 sample.py
+-----------+---------------------+
|   Prénom  |         Nom         |
+-----------+---------------------+
|   James   |         Bond        |
|   Jason   |        Bourne       |
|Marguaretha|        Zelle        |
|   Hubert  |Bonnisseur De La Bath|
|   Ethan   |         Hunt        |
+-----------+---------------------+
$>

Voir aussi

Classe str