Python 3 - Chaînes

Les chaînes sont parmi les types les plus populaires en Python. Nous pouvons les créer simplement en mettant les caractères entre guillemets. Python traite les guillemets simples de la même manière que les guillemets doubles. La création de chaînes est aussi simple que l'attribution d'une valeur à une variable. Par exemple -

var1 = 'Hello World!'
var2 = "Python Programming"

Accès aux valeurs dans les chaînes

Python ne prend pas en charge un type de caractère; celles-ci sont traitées comme des chaînes de longueur un, donc également considérées 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 -

#!/usr/bin/python3

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 -

#!/usr/bin/python3

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

Personnages de fuite

Le tableau suivant est une liste de caractères d'échappement ou non imprimables qui peuvent être représentés avec une notation anti-slash.

Un caractère d'échappement est interprété; dans des chaînes entre guillemets simples et doubles.

Notation de barre oblique inverse Caractère hexadécimal La description
\une 0x07 Cloche ou alerte
\ b 0x08 Retour arrière
\ cx Contrôle-x
\ Cx Contrôle-x
\ e 0x1b Échapper
\F 0x0c Formfeed
\ M- \ Cx Meta-Control-x
\ n 0x0a Nouvelle ligne
\ nnn Notation octale, où n est compris entre 0,7
\ r 0x0d Retour chariot
\ s 0x20 Espace
\ t 0x09 Languette
\ v 0x0b Onglet vertical
\X Caractère x
\ xnn Notation hexadécimale, où n est compris entre 0,9, af ou AF

Opérateurs spéciaux de chaîne

Supposons une variable de chaîne a contient 'Hello' et variable b détient 'Python', alors -

Opérateur La 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, concaténant plusieurs copies de la même chaîne un * 2 donnera -BonjourBonjour
[] 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 Membership - Renvoie true si un caractère existe dans la chaîne donnée H dans un donnera 1
pas dedans Membership - Renvoie true si un caractère n'existe pas dans la chaîne donnée M pas dans un donnera 1
r / R Chaîne brute - 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 minuscule (r) ou majuscule (R) et doit être placé immédiatement avant le premier guillemet. print r '\ n' imprime \ n et imprime R '\ n'imprime \ n
% Format - Effectue le formatage de la chaîne Voir dans 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 pack de fonctions de la famille printf () de C. Voici un exemple simple -

#!/usr/bin/python3

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 de l'ensemble complet de symboles qui peuvent être utilisés avec% -

N ° Sr. Symbole de format et conversion
1

%c

personnage

2

%s

conversion de chaîne via str () avant le formatage

3

%i

entier décimal signé

4

%d

entier décimal signé

5

%u

entier décimal non signé

6

%o

entier octal

sept

%x

entier hexadécimal (lettres minuscules)

8

%X

entier hexadécimal (lettres majuscules)

9

%e

notation exponentielle (avec 'e' minuscule)

dix

%E

notation exponentielle (avec MAJUSCULE 'E')

11

%f

nombre réel à virgule flottante

12

%g

le plus court de% f et% e

13

%G

le plus court de% f et% E

Les autres symboles et fonctionnalités pris en charge sont répertoriés dans le tableau suivant -

N ° Sr. Symbole et fonctionnalité
1

*

l'argument spécifie la largeur ou la précision

2

-

justification à gauche

3

+

afficher le signe

4

<sp>

laisser un espace vide avant un nombre positif

5

#

ajoutez le zéro octal de début («0») ou hexadécimal de début «0x» ou «0X», selon que «x» ou «X» ont été utilisés.

6

0

pad de gauche avec des zéros (au lieu d'espaces)

sept

%

'%%' vous laisse avec un seul littéral '%'

8

(var)

variable de mappage (arguments du dictionnaire)

9

m.n.

m est la largeur totale minimale et n est le nombre de chiffres à afficher après la virgule décimale (si applicable)

Citations triples

Les triples guillemets de Python viennent à la rescousse en permettant aux chaînes de s'étendre sur plusieurs lignes, y compris les NEWLINE verbatim, les TAB et tout autre caractère spécial.

La syntaxe des guillemets triples se compose de trois single or double citations.

#!/usr/bin/python3

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 dans sa forme imprimée, jusqu'à la dernière NEWLINE à la fin de la chaîne entre le "haut". et fermer 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 -

#!/usr/bin/python3

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. Nous mettrions l'expressionr'expression' comme suit -

#!/usr/bin/python3

print (r'C:\\nowhere')

Lorsque le code ci-dessus est exécuté, il produit le résultat suivant -

C:\\nowhere

Chaîne Unicode

En Python 3, toutes les chaînes sont représentées en Unicode, tandis qu'en Python 2 sont stockées en interne en ASCII 8 bits, il est donc nécessaire d'attacher 'u' pour le rendre Unicode. Ce n'est plus nécessaire maintenant.

Méthodes de chaîne intégrées

Python inclut les méthodes intégrées suivantes pour manipuler les chaînes -

N ° Sr. Méthodes et description
1 capitaliser()

Met en majuscule la première lettre de la chaîne

2 center (width, fillchar)

Renvoie une chaîne remplie de fillchar avec la chaîne d'origine centrée sur un total de colonnes de largeur .

3 count (str, begin = 0, end = len (string))

Compte le nombre de fois que str apparaît dans la chaîne ou dans une sous-chaîne de chaîne si l'index de début begin et end index end sont indiqués.

4 décoder (encoding = 'UTF-8', errors = 'strict')

Décode la chaîne à l'aide du codec enregistré pour l'encodage. encoding utilise par défaut l'encodage de chaîne par défaut.

5 encode (encoding = 'UTF-8', errors = 'strict')

Renvoie la version chaîne codée de la chaîne; en cas d'erreur, la valeur par défaut est de déclencher une ValueError à moins que des erreurs ne soient indiquées avec «ignorer» ou «remplacer».

6 endswith (suffixe, begin = 0, end = len (chaîne))

Détermine si la chaîne ou une sous-chaîne de chaîne (si l'index de début begin et de fin d'index end sont donnés) se termine par un suffixe; renvoie true si c'est le cas et false dans le cas contraire.

sept expandtabs (tabsize = 8)

Développe les tabulations de la chaîne en plusieurs espaces; la valeur par défaut est de 8 espaces par onglet si la taille de l'onglet n'est pas fournie.

8 find (str, beg = 0 end = len (chaîne))

Déterminez si str se produit dans une chaîne ou dans une sous-chaîne de chaîne si l'index de début begin et de fin d'index end sont donnés renvoie index s'il est trouvé et -1 sinon.

9 index (chaîne, début = 0, fin = len (chaîne))

Identique à find (), mais lève une exception si str est introuvable.

dix isalnum ()

Renvoie true si la chaîne contient au moins 1 caractère et que tous les caractères sont alphanumériques et false dans le cas contraire.

11 isalpha ()

Renvoie true si la chaîne contient au moins 1 caractère et que tous les caractères sont alphabétiques et false dans le cas contraire.

12 isdigit ()

Renvoie true si la chaîne ne contient que des chiffres et false dans le cas contraire.

13 est plus bas()

Renvoie vrai si la chaîne a au moins 1 caractère casse et tous les caractères casse sont en minuscules et faux sinon.

14 isnumérique ()

Renvoie true si une chaîne Unicode contient uniquement des caractères numériques et false dans le cas contraire.

15 isspace ()

Renvoie true si la chaîne ne contient que des espaces et false dans le cas contraire.

16 istitle ()

Renvoie true si la chaîne est correctement "titlecased" et false dans le cas contraire.

17 isupper ()

Renvoie vrai si la chaîne a au moins un caractère casse et tous les caractères casse sont en majuscules et faux sinon.

18 rejoindre (seq)

Fusionne (concatène) les représentations sous forme de chaîne d'é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 bande l ()

Supprime tous les espaces de début de chaîne.

23 maketrans ()

Renvoie une table de traduction à utiliser dans la fonction de traduction.

24 max (str)

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 l'ancien dans la chaîne par de nouvelles occurrences ou au maximum si max est donné.

27 rfind (str, beg = 0, end = len (chaîne))

Identique à find (), mais recherche en arrière dans la chaîne.

28 rindex (str, beg = 0, end = len (chaîne))

Identique à index (), mais recherche en arrière dans la chaîne.

29 rjust (largeur, [, 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 si non fourni) et retourne la liste des sous-chaînes; divisé en au plus nombre de sous-chaînes s'il est donné.

32 lignes fractionnées (num = string.count ('\ n'))

Divise la chaîne du tout (ou nombre) NEWLINEs et renvoie une liste de chaque ligne avec NEWLINEs supprimées.

33 commence avec (str, début = 0, fin = len (chaîne))

Détermine si la chaîne ou une sous-chaîne de chaîne (si l'index de départ begin et end index end sont donnés) commence par la sous-chaîne str; renvoie true si c'est le cas et false dans le cas contraire.

34 bande ([caractères])

Effectue à la fois lstrip () et rstrip () sur une chaîne

35 casier ()

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 par des majuscules et les autres sont en minuscules.

37 translate (table, deletechars = "")

Traduit la chaîne en fonction de la table de traduction str (256 caractères), en supprimant celles de la chaîne del.

38 plus haut()

Convertit les lettres minuscules d'une chaîne en majuscules.

39 zfill (largeur)

Renvoie la chaîne d'origine avec des zéros à gauche pour un total de caractères de largeur; destiné aux nombres, zfill () conserve tout signe donné (moins un zéro).

40 isdecimal ()

Renvoie true si une chaîne Unicode contient uniquement des caractères décimaux et false dans le cas contraire.