Les chaines de caractères en python explications détaillées

Les chaines de caractères en python explications détaillées


Chaîne de caractères


Les chaînes sont parmi les types les plus populaires en Python. Nous pouvons les créer simplement en mettant des 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; ceux-ci sont traités 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 découper avec l'index ou les index pour obtenir votre sous-chaîne. Par exemple -

#!/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 -

#!/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 barre oblique inverse.

Un caractère d'échappement est interprété; dans des chaînes entre guillemets simples ou doubles.Notation de barre oblique inverseCaractère hexadécimalLa description\une0x07Cloche ou alerte\ b0x08Retour arrière\ cx Control-x\ Cx Control-x\ e0x1bÉchapper\F0x0cFormfeed\ M- \ Cx Meta-Control-x\ n0x0aNouvelle ligne\ nnn Notation octale, où n est compris entre 0,7\ r0x0dRetour chariot\ s0x20Espace\ t0x09Languette\ v0x0bOnglet 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 que la variable chaîne a contient «Bonjour» et la variable b contient «Python», puis -OpérateurLa descriptionExemple+Concaténation - Ajoute des valeurs de chaque côté de l'opérateura + b donnera HelloPython*Répétition - Crée de nouvelles chaînes, concaténant plusieurs copies de la même chaîneun * 2 donnera -BonjourBonjour[]Slice - Donne le caractère de l'index donnéun [1] donnera e[:]Range Slice - Donne les personnages de la plage donnéeun [1: 4] donnera elldansMembership - Renvoie vrai si un caractère existe dans la chaîne donnéeH dans un donnera 1pas dedansMembership - Renvoie vrai si un caractère n'existe pas dans la chaîne donnéeM pas dans une volonté donnera 1r / RChaî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 en minuscule (r) ou en majuscule (R) et doit être placé immédiatement avant le premier guillemet.imprimer r '\ n' imprime \ n et imprime R '\ n'prints \ n%Format - Effectue le formatage des chaînesVoir à la section suivante

Opérateur de formatage de chaînes

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/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 symboles complets qui peuvent être utilisés avec% -Symbole de formatConversion% cpersonnage% sconversion de chaîne via str () avant le formatage%jeentier décimal signé%réentier décimal signé% uentier décimal non signé% oentier octal%Xentier hexadécimal (lettres minuscules)%Xentier hexadécimal (lettres majuscules)% enotation exponentielle (avec «e» minuscule)% Enotation exponentielle (avec UPPERcase 'E')%Fnombre réel en virgule flottante%gle plus court de% f et% e%Gle plus court de% f et% E

Les autres symboles et fonctionnalités pris en charge sont répertoriés dans le tableau suivant -symboleFonctionnalité*l'argument spécifie la largeur ou la précision-justification à gauche+afficher le signe<sp>laisser un espace vide avant un nombre positif#ajouter le zéro octal en tête ('0') ou hexadécimal en tête '0x' ou '0X', selon que 'x' ou 'X' ont été utilisés.0pad de gauche avec des zéros (au lieu d'espaces)%'%%' vous laisse un seul littéral '%'(var)variable de mappage (arguments de dictionnaire)mnm est la largeur totale minimale et n est le nombre de chiffres à afficher après le point décimal (si appl.)

Triple Quotes

Les guillemets triples 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 guillemets simples ou doubles consécutifs .

#!/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 dans sa forme imprimée, jusqu'à la dernière NEWLINE à la fin de la chaîne entre les «haut». et la fermeture des guillemets triples. Notez également que les NEWLINE se produisent avec un retour chariot explicite à la fin d'une ligne ou 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/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. Nous exprimerions l'expression « expression » comme suit -

#!/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 en ASCII 8 bits, tandis que les chaînes Unicode sont stockées en Unicode 16 bits. Cela permet un jeu 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 -

#!/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 description1capitaliser()

Met en majuscule la première lettre de la chaîne2centre (largeur, fillchar)

Renvoie une chaîne remplie d'espace avec la chaîne d'origine centrée sur un total de colonnes de largeur.3count (str, beg = 0, end = len (string))

Compte le nombre de fois où str apparaît dans la chaîne ou dans une sous-chaîne de chaîne si l'index de début de début et la fin d'index de fin sont donnés.4décoder (encodage = 'UTF-8', erreurs = 'strict')

Décode la chaîne à l'aide du codec enregistré pour l'encodage. l'encodage par défaut est l'encodage de chaîne par défaut.5encoder (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 sauf si des erreurs sont données avec «ignorer» ou «remplacer».6endswith (suffixe, beg = 0, end = len (chaîne))

Détermine si une chaîne ou une sous-chaîne de chaîne (si l'index de début de début et la fin d'index de fin sont données) se termine par le suffixe; renvoie vrai si c'est le cas et faux sinon.7expandtabs (tabsize = 8)

Développe les tabulations en chaîne à plusieurs espaces; par défaut, 8 espaces par tabulation si la tabulation n'est pas fournie.8find (str, beg = 0 end = len (string))

Déterminez si str apparaît dans la chaîne ou dans une sous-chaîne de chaîne si l'index de début de début et la fin d'index de fin sont donnés renvoie index si trouvé et -1 sinon.9index (str, beg = 0, end = len (chaîne))

Identique à find (), mais déclenche une exception si str n'est pas trouvé.dixisalnum ()

Renvoie vrai si la chaîne a au moins 1 caractère et tous les caractères sont alphanumériques et faux sinon.11isalpha ()

Renvoie vrai si la chaîne a au moins 1 caractère et tous les caractères sont alphabétiques et faux sinon.12isdigit ()

Renvoie vrai si la chaîne ne contient que des chiffres et faux sinon.13est plus bas()

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

Renvoie vrai si une chaîne unicode ne contient que des caractères numériques et faux sinon.15isspace ()

Renvoie true si la chaîne ne contient que des espaces et false sinon.16istitle ()

Renvoie true si la chaîne est correctement "titlecased" et false sinon.17isupper ()

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

Fusionne (concatène) les représentations de chaîne d'éléments en séquence seq en une chaîne, avec une chaîne de séparation.19len (chaîne)

Renvoie la longueur de la chaîne20ljust (largeur [, fillchar])

Renvoie une chaîne remplie d'espace avec la chaîne d'origine justifiée à gauche pour un total de colonnes de largeur.21inférieur()

Convertit toutes les lettres majuscules de la chaîne en minuscules.22lstrip ()

Supprime tous les espaces en tête de la chaîne.23maketrans ()

Renvoie une table de traduction à utiliser dans la fonction de traduction.24max (str)

Renvoie le caractère alphabétique maximum de la chaîne str.25min (str)

Renvoie le caractère alphabétique min de la chaîne str.26remplacer (ancien, nouveau [, max])

Remplace toutes les occurrences de l'ancien dans la chaîne par de nouvelles occurrences ou tout au plus max si max.27rfind (str, beg = 0, end = len (string))

Identique à find (), mais recherche en arrière dans la chaîne.28rindex (str, beg = 0, end = len (string))

Identique à index (), mais recherche en arrière dans la chaîne.29rjust (largeur, [, fillchar])

Renvoie une chaîne remplie d'espace avec la chaîne d'origine justifiée à droite pour un total de colonnes de largeur.30rstrip ()

Supprime tous les espaces de fin de chaîne.31split (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 num sous-chaînes s'il est donné.32splitlines (num = string.count ('\ n'))

Divise la chaîne à tous (ou num) NEWLINEs et retourne une liste de chaque ligne avec NEWLINEs supprimés.33commence par (str, beg = 0, end = len (string))

Détermine si une chaîne ou une sous-chaîne de chaîne (si l'index de début de début et la fin d'index de fin sont données) commence par la sous-chaîne str; renvoie vrai si c'est le cas et faux sinon.34bande ([caractères])

Exécute lstrip () et rstrip () sur la chaîne.35swapcase ()

Inverse la casse pour toutes les lettres de la chaîne.36Titre()

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.37traduire (table, deletechars = "")

Traduit la chaîne selon la table de traduction str (256 caractères), en supprimant ceux de la chaîne del.38plus haut()

Convertit les lettres minuscules en chaîne en majuscules.39zfill (largeur)

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

Renvoie vrai si une chaîne unicode ne contient que des caractères décimaux et faux sinon.

Report Page