Python - Chaînes
Page PrécédentePage Suivante
Les chaînes sont parmi les types les plus populaires en Python. Nous pouvons les créer simplement en plaçant des caractères entre guillemets. Python traite les guillemets simples de la même manière que les guillemets doubles. Créer des chaînes est aussi simple que d'attribuer une valeur à une variable. Par exemple −
var1 = 'Hello World!' var2 = "Python Programming"
Accéder aux valeurs dans les chaînes
Python ne prend pas en charge un type de caractère ; ceux-ci sont traités comme des chaînes de longueur un, donc également considérés comme une sous-chaîne.
Pour accéder aux sous-chaînes, utilisez les crochets pour le découpage avec l'index ou les index pour obtenir votre sous-chaîne. Par exemple −
Démo en direct#!/usr/bin/python var1 = 'Hello World!' var2 = "Python Programming" print "var1[0]: ", var1[0] print "var2[1:5]: ", var2[1:5]
Lorsque le code ci-dessus est exécuté, il produit le résultat suivant −
var1[0]: H var2[1:5]: ytho
Mise à jour des chaînes
Vous pouvez "mettre à jour" une chaîne existante en (ré)affectant une variable à une autre chaîne. La nouvelle valeur peut être liée à sa valeur précédente ou à une chaîne complètement différente. Par exemple −
Démo en direct#!/usr/bin/python var1 = 'Hello World!' print "Updated String :- ", var1[:6] + 'Python'
Lorsque le code ci-dessus est exécuté, il produit le résultat suivant −
Updated String :- Hello Python
Caractères d'échappement
Le tableau suivant est une liste de caractères d'échappement ou non imprimables qui peuvent être représentés avec une notation de barre oblique inverse.
Un caractère d'échappement est interprété; dans des chaînes entre guillemets simples et entre guillemets doubles.
Notation de barre oblique inverse | Caractère hexadécimal | Description |
---|---|---|
\a | 0x07 | Sonnerie ou alerte |
\b | 0x08 | Retour arrière |
\cx | Contrôle-x | |
\C-x | Contrôle-x | |
\f | 0x1b | Échapper |
\f | 0x0c | Saut de page |
\M-\C-x | Méta-Contrôle-x | |
\n | 0x0a | Nouvelle ligne |
\nnn | Notation octale, où n est compris entre 0,7 | |
\r | 0x0d | Retour chariot |
\s | 0x20 | Espace |
\t | 0x09 | Onglet |
\v | 0x0b | Onglet vertical |
\x | Caractère x | |
\xnn | Notation hexadécimale, où n est compris entre 0,9, a.f ou A.F |
Opérateurs spéciaux de chaîne
Supposons que la variable de chaîne a contient 'Hello' et la variable b contient 'Python', alors −
Opérateur | Description | Exemple |
---|---|---|
+ | Concaténation - Ajoute des valeurs de chaque côté de l'opérateur | a + b donnera HelloPython |
* | Répétition - Crée de nouvelles chaînes, en concaténant plusieurs copies de la même chaîne | a*2 donnera -HelloHello |
[] | Slice - Donne le caractère de l'index donné | a[1] donnera e |
[ :] | Range Slice - Donne les caractères de la plage donnée | a[1:4] donnera ell |
dans | Appartenance - Renvoie true si un caractère existe dans la chaîne donnée | H dans a donnera 1 |
pas dans | Appartenance - Renvoie vrai si un caractère n'existe pas dans la chaîne donnée | M pas dans un donnera 1 |
r/R | Raw String - Supprime la signification réelle des caractères d'échappement. La syntaxe des chaînes brutes est exactement la même que celle des chaînes normales, à l'exception de l'opérateur de chaîne brute, la lettre "r", qui précède les guillemets. Le "r" peut être en minuscule (r) ou en majuscule (R) et doit être placé immédiatement avant le premier guillemet. | imprimer r'\n' imprime \n et imprimer R'\n'imprime \n |
% | Format - Effectue le formatage de la chaîne | Voir à la section suivante |
Opérateur de formatage de chaîne
L'une des fonctionnalités les plus intéressantes de Python est l'opérateur de format de chaîne %. Cet opérateur est unique aux chaînes et compense le fait d'avoir des fonctions de la famille printf() de C. Voici un exemple simple −
Démo en direct#!/usr/bin/python print "My name is %s and weight is %d kg!" % ('Zara', 21)
Lorsque le code ci-dessus est exécuté, il produit le résultat suivant −
My name is Zara and weight is 21 kg!
Voici la liste des ensembles complets de symboles qui peuvent être utilisés avec % −
Symbole de format | Conversion |
---|---|
%c | personnage |
%s | conversion de chaîne via str() avant le formatage |
%i | entier décimal signé |
%d | entier décimal signé |
%u | entier décimal non signé |
%o | entier octal |
%x | entier hexadécimal (lettres minuscules) |
%X | entier hexadécimal (lettres MAJUSCULES) |
%e | notation exponentielle (avec 'e' minuscule) |
%E | notation exponentielle (avec 'E' MAJUSCULE) |
%f | nombre réel à virgule flottante |
%g | le plus court entre %f et %e |
%G | le plus court entre %f et %E |
Les autres symboles et fonctionnalités pris en charge sont répertoriés dans le tableau suivant −
Symbole | Fonctionnalité |
---|---|
* | argument spécifie la largeur ou la précision |
- | justification à gauche |
+ | afficher le signe |
laisser un espace vide avant un nombre positif | |
# | ajouter le zéro octal non significatif ( '0' ) ou hexadécimal non significatif '0x' ou '0X', selon que 'x' ou 'X' ont été utilisés. |
0 | compléter à partir de la gauche avec des zéros (au lieu d'espaces) |
% | '%%' vous laisse avec un seul littéral '%' |
(var) | variable de mappage (arguments de dictionnaire) |
m.n. | m est la largeur totale minimale et n est le nombre de chiffres à afficher après la virgule décimale (le cas échéant) |
Citations triples
Les guillemets triples de Python viennent à la rescousse en permettant aux chaînes de s'étendre sur plusieurs lignes, y compris les NOUVELLES lignes textuelles, les TAB et tout autre caractère spécial.
La syntaxe des guillemets triples se compose de trois simples ou doubles consécutifs guillemets.
Démo en direct#!/usr/bin/python para_str = """this is a long string that is made up of several lines and non-printable characters such as TAB ( \t ) and they will show up that way when displayed. NEWLINEs within the string, whether explicitly given like this within the brackets [ \n ], or just a NEWLINE within the variable assignment will also show up. """ print para_str
Lorsque le code ci-dessus est exécuté, il produit le résultat suivant. Notez comment chaque caractère spécial a été converti en sa forme imprimée, jusqu'à la dernière NEWLINE à la fin de la chaîne entre le "up". et fermant les guillemets triples. Notez également que les NEWLINEs se produisent soit avec un retour chariot explicite à la fin d'une ligne, soit avec son code d'échappement (\n) −
this is a long string that is made up of several lines and non-printable characters such as TAB ( ) and they will show up that way when displayed. NEWLINEs within the string, whether explicitly given like this within the brackets [ ], or just a NEWLINE within the variable assignment will also show up.
Les chaînes brutes ne traitent pas du tout la barre oblique inverse comme un caractère spécial. Chaque caractère que vous mettez dans une chaîne brute reste tel que vous l'avez écrit −
Démo en direct#!/usr/bin/python print 'C:\\nowhere'
Lorsque le code ci-dessus est exécuté, il produit le résultat suivant −
C:\nowhere
Utilisons maintenant la chaîne brute. On mettrait expression dans r'expression' comme suit −
Démo en direct#!/usr/bin/python print r'C:\\nowhere'
Lorsque le code ci-dessus est exécuté, il produit le résultat suivant −
C:\\nowhere
Chaîne Unicode
Les chaînes normales en Python sont stockées en interne au format ASCII 8 bits, tandis que les chaînes Unicode sont stockées au format Unicode 16 bits. Cela permet un ensemble de caractères plus varié, y compris des caractères spéciaux de la plupart des langues du monde. Je limiterai mon traitement des chaînes Unicode aux éléments suivants −
Démo en direct#!/usr/bin/python print u'Hello, world!'
Lorsque le code ci-dessus est exécuté, il produit le résultat suivant −
Hello, world!
Comme vous pouvez le voir, les chaînes Unicode utilisent le préfixe u, tout comme les chaînes brutes utilisent le préfixe r.
Méthodes de chaîne intégrées
Python inclut les méthodes intégrées suivantes pour manipuler les chaînes −
Sr.No. | Méthodes avec description |
---|---|
1 | capitaliser() Met en majuscule la première lettre de la chaîne |
2 | center(width, fillchar) Renvoie une chaîne remplie d'espaces avec la chaîne d'origine centrée sur un total de colonnes de largeur. |
3 | count(str, beg=0,end=len(string)) Compte le nombre de fois que str apparaît dans une chaîne ou dans une sous-chaîne de chaîne si l'index de début beg et l'index de fin end sont donnés. |
4 | décoder(encoding='UTF-8',errors='strict') Décode la chaîne à l'aide du codec enregistré pour l'encodage. l'encodage utilise par défaut l'encodage de chaîne par défaut. |
5 | encoder(encoding='UTF-8',errors='strict') Renvoie la version de chaîne encodée de chaîne ; en cas d'erreur, la valeur par défaut est de déclencher une ValueError sauf si des erreurs sont données avec 'ignore' ou 'remplace'. |
6 | endswith(suffix, beg=0, end=len(string)) Détermine si la chaîne ou une sous-chaîne de chaîne (si l'index de début début et l'index de fin fin sont donnés) se termine par un suffixe ; renvoie true si c'est le cas et false sinon. |
7 | expandtabs(tabsize=8) Développe les onglets dans la chaîne à plusieurs espaces ; par défaut à 8 espaces par onglet si tabsize n'est pas fourni. |
8 | find(str, beg=0 end=len(string)) Détermine si str apparaît dans une chaîne ou dans une sous-chaîne de chaîne si l'index de début beg et l'index de fin end sont donnés renvoie l'index s'il est trouvé et -1 sinon. |
9 | index(str, beg=0, end=len(string)) Identique à find(), mais lève une exception si str n'est pas trouvé. |
10 | isalnum() Renvoie vrai si la chaîne a au moins 1 caractère et que tous les caractères sont alphanumériques et faux sinon. |
11 | isalpha() Renvoie vrai si la chaîne a au moins 1 caractère et que tous les caractères sont alphabétiques et faux sinon. |
12 | estchiffre() Renvoie vrai si la chaîne ne contient que des chiffres et faux sinon. |
13 | estinférieur() Renvoie vrai si la chaîne a au moins 1 caractère avec casse et que tous les caractères avec casse sont en minuscules et faux sinon. |
14 | estnumérique() Renvoie true si une chaîne unicode ne contient que des caractères numériques et false sinon. |
15 | estespace() Renvoie vrai si la chaîne ne contient que des caractères d'espacement et faux sinon. |
16 | esttitre() Renvoie true si la chaîne est correctement "titlecased" et false sinon. |
17 | isupper() Renvoie vrai si la chaîne a au moins un caractère en casse et que tous les caractères en casse sont en majuscules et faux sinon. |
18 | join(suite) Fusionne (concatène) les représentations sous forme de chaîne des éléments dans la séquence seq en une chaîne, avec une chaîne de séparation. |
19 | len(chaîne) Renvoie la longueur de la chaîne |
20 | ljust(width[, fillchar]) Renvoie une chaîne remplie d'espaces avec la chaîne d'origine justifiée à gauche sur un total de colonnes de largeur. |
21 | inférieur() Convertit toutes les lettres majuscules de la chaîne en minuscules. |
22 | lstrip() Supprime tous les espaces de début dans la chaîne. |
23 | maketrans() Renvoie une table de traduction à utiliser dans la fonction de traduction. |
24 | max(chaîne) Renvoie le caractère alphabétique maximum de la chaîne str. |
25 | min(str) Renvoie le caractère alphabétique min de la chaîne str. |
26 | remplacer(ancien, nouveau [, max]) Remplace toutes les occurrences de old in string par new ou au maximum occurrences max si max donné. |
27 | rfind(str, beg=0,end=len(string)) Identique à find(), mais recherche en arrière dans la chaîne. |
28 | rindex( str, beg=0, end=len(string)) Identique à index(), mais recherche en arrière dans la chaîne. |
29 | rjust(width,[, fillchar]) Renvoie une chaîne remplie d'espaces avec la chaîne d'origine justifiée à droite sur un total de colonnes de largeur. |
30 | rstrip() Supprime tous les espaces de fin de chaîne. |
31 | split(str="", num=string.count(str)) Divise la chaîne en fonction du délimiteur str (espace s'il n'est pas fourni) et renvoie la liste des sous-chaînes ; divisé en au plus num sous-chaînes si donné. |
32 | splitlines( num=string.count('\n')) Divise la chaîne en tout (ou nombre) NEWLINEs et renvoie une liste de chaque ligne avec les NEWLINEs supprimées. |
33 | startswith(str, beg=0,end=len(string)) Détermine si la chaîne ou une sous-chaîne de chaîne (si l'index de début beg et l'index de fin end sont donnés) commence par la sous-chaîne str ; renvoie true si c'est le cas et false sinon. |
34 | strip([chars]) Effectue à la fois lstrip() et rstrip() sur la chaîne. |
35 | swapcase() Inverse la casse pour toutes les lettres de la chaîne. |
36 | titre() Renvoie la version "titlecased" de la chaîne, c'est-à-dire que tous les mots commencent en majuscules et le reste en minuscules. |
37 | translate(table, deletechars="") Traduit la chaîne en fonction de la table de traduction str (256 caractères), en supprimant ceux de la chaîne del. |
38 | supérieur() Convertit les lettres minuscules de la chaîne en majuscules. |
39 | zfill (largeur) Renvoie la chaîne d'origine à gauche avec des zéros jusqu'à un total de caractères de largeur ; destiné aux nombres, zfill() conserve tout signe donné (moins un zéro). |
40 | estdécimal() Renvoie true si une chaîne unicode ne contient que des caractères décimaux et false sinon. |
Python
- C chaîne
- Opérateurs Python
- Chaînes Python :Remplacer, Joindre, Diviser, Inverser, Majuscules et Minuscules
- Python String strip() Fonction avec EXAMPLE
- Python String count() avec des EXEMPLES
- Python String format() Expliquer avec des EXEMPLES
- Longueur de la chaîne Python | Méthode len() Exemple
- Méthode Python String find() avec exemples
- Fonction Enumerate() en Python :boucle, tuple, chaîne (exemple)