Apprendre Python? Voici comment manipuler des chaînes
En utilisant Python, vous pouvez manipuler des chaînes de plusieurs manières. Python fournit diverses fonctions, opérateurs et méthodes qui peuvent être utilisés pour manipuler des chaînes. Vous pouvez découper une chaîne, joindre deux chaînes ou plus, interpoler des variables dans une chaîne et bien d'autres.
Les chaînes en Python peuvent être définies comme une séquence de caractères. Ils sont immuables, c'est-à-dire qu'ils ne peuvent pas être modifiés une fois déclarés. Au lieu de cela, une copie de la chaîne est créée à des fins de manipulation.
Comment créer des chaînes en Python
Créer des chaînes en Python est aussi simple que d'attribuer une valeur à une variable en Python. Vous pouvez utiliser des guillemets simples (''), des guillemets doubles ("") ou trois guillemets simples ('' '' '') / doubles ("" "" "") pour créer des chaînes.
str1 = 'Hello!'
str2 = "Hello!"
str3 = """Hello!"""
str4 = '''Hello!'''
print(str1)
print(str2)
print(str3)
print(str4)
Production:
Hello!
Hello!
Hello!
Hello!
L'avantage d'utiliser un guillemet double pour créer une chaîne est que vous pouvez utiliser un caractère guillemet simple à l'intérieur du guillemet double. Python traitera le caractère guillemet simple comme une partie de la chaîne.
s = "Using 'single quote' inside double quotes"
print(s)
Production:
Using 'single quote' inside double quotes
Si vous souhaitez créer une chaîne multiligne, utiliser trois guillemets simples ('' '' '') / trois guillemets doubles ("" "" "") est le meilleur choix. Lors de la création de chaînes en utilisant des guillemets simples ('') ou des guillemets doubles (""), vous devez utiliser le caractère d'échappement n pour une nouvelle ligne (saut de ligne). Mais en utilisant trois guillemets, vous n'avez pas besoin de le faire.
s1 = """This is a multiline
string using three double quotes"""
s2 = "This is a multiline
string using double quotes"
print(s1)
print(s2)
Production:
This is a multiline
string using three double quotes
This is a multiline
string using double quotes
Comment accéder aux caractères de chaîne
Si vous souhaitez accéder à des caractères individuels, l' indexation est utilisée; si vous souhaitez accéder à une plage de caractères, le découpage est utilisé.
Indexation des chaînes
Comme tous les autres types de données Python, les index de chaîne commencent par 0. La plage d'index va de 0 à la longueur de la chaîne – 1. Les chaînes Python prennent également en charge l'indexation négative: -1 pointe vers le dernier caractère de la chaîne, -2 points au 2ème dernier caractère de la chaîne et ainsi de suite.
s = "MAKEUSEOF"
# Prints whole string
print(s)
# Prints 1st character
print(s[0])
# Prints 2nd character
print(s[1])
# Prints last character
print(s[-1])
# Prints 2nd last character
print(s[-2])
Production:
MAKEUSEOF
M
A
F
O
Vous devez utiliser des entiers pour accéder aux caractères sinon, vous obtiendrez une TypeError . Cela se produira également si vous essayez d'accéder à des éléments hors de portée.
Erreur-type:
s = "MAKEUSEOF"
# TypeError will be thrown if you don't use integers
print(s[1.5])
Production:
TypeError: string indices must be integers
IndexError:
s = "MAKEUSEOF"
# IndexError will be thrown if you try to use index out of range
print(s[88])
Production:
TypeError: string indices must be integers
Tranchage de cordes
Vous pouvez accéder à une gamme de caractères à l' aide de l'opérateur du côlon (:).
s = "MAKEUSEOF"
# Prints from 0th index(included) to 4th index(excluded)
print(s[0:4])
# Prints from 3rd last index(included) to last index(excluded)
print(s[-3:-1])
# Prints from 2nd index to last of the string
print(s[2:])
# Prints from start of the string to 6th index(excluded)
print(s[:6])
Production:
MAKE
EO
KEUSEOF
MAKEUS
Comment utiliser des opérateurs sur des chaînes
Utilisation de l'opérateur +
L'opérateur + est utilisé pour concaténer / joindre deux ou plusieurs chaînes. Il renvoie la chaîne concaténée résultante.
s1 = "MAKE"
s2 = "USE"
s3 = "OF"
s = s1 + s2 + s3
# Prints the concatenated string
print(s)
Production:
MAKEUSEOF
Utilisation de l'opérateur *
Ceci est utilisé pour répéter une chaîne un certain nombre de fois.
str = "MUO-"
# Prints str 5 times
print(str * 5)
# Prints str 2 times
print(2 * str)
x = 3
# Prints str x times
# Here, x = 3
print(str * x)
Production:
MUO-MUO-MUO-MUO-MUO-
MUO-MUO-
MUO-MUO-MUO-
Utilisation de l'opérateur in
Il s'agit d'un opérateur d'appartenance qui vérifie si le premier opérande est présent ou non dans le second opérande. Si le premier opérande est présent dans le deuxième opérande, il renvoie True .
Sinon, il renvoie False .
str = "MAKEUSEOF"
# Returns True as MAKE is present in str
print("MAKE" in str)
# Returns False as H is not present in str
print("H" in str)
Production:
True
False
Utilisation de l'opérateur not in
Un autre opérateur d'appartenance, pas in fonctionne à l'opposé de l'opérateur in. Si le premier opérande est présent dans le deuxième opérande, il renvoie False . Sinon, il renvoie True .
str = "MAKEUSEOF"
# Returns True as Hello is not present in str
print("Hello" not in str)
# Returns False as M is present in str
print("M" not in str)
Production:
True
False
Séquences d'échappement dans les chaînes
En utilisant les séquences d'échappement, vous pouvez placer des caractères spéciaux dans la chaîne. Tout ce que vous avez à faire est d'ajouter une barre oblique inverse ( / ) juste avant le caractère que vous souhaitez échapper. Si vous n'échappez pas au caractère, Python renvoie une erreur.
s = 'We are using apostrophe ' in our string'
print(s)
Production:
We are using apostrophe ' in our string
Comment insérer des variables dans des chaînes
Les variables peuvent être utilisées à l'intérieur des chaînes en interpolant les variables entre accolades. De plus, vous devez ajouter un f minuscule ou un F majuscule juste avant d'ouvrir le guillemet de la chaîne.
s1 = "Piper"
s2 = "a"
s3 = "pickled"
str = f"Peter {s1} picked {s2} peck of {s3} peppers"
# s1, s2 and s3 are replaced by their values
print(str)
a = 1
b = 2
c = a + b
# a, b and c are replaced by their values
print(f"Sum of {a} + {b} is equal to {c}")
Production:
Peter Piper picked a peck of pickled peppers
Sum of 1 + 2 is equal to 3
Comment utiliser les fonctions de chaîne intégrées
Fonction len ()
Cette fonction est utilisée pour trouver la longueur de la chaîne. C'est l'une des fonctions les plus utilisées en Python.
str = "MAKEUSEOF"
# Prints the number of characters in "MAKEUSEOF"
print(len(str))
Production:
9
Fonction ord ()
Pendant ce temps, cette fonction est utilisée pour trouver la valeur entière d'un caractère. Python est un langage polyvalent, il prend en charge les caractères ASCII et Unicode .
c1 = ord('M')
c2 = ord('a')
c3 = ord('A')
c4 = ord('$')
c5 = ord('#')
print(c1)
print(c2)
print(c3)
print(c4)
print(c5)
Production:
77
97
65
36
35
fonction chr ()
Utilisez chr () pour trouver la valeur de caractère d'un entier.
i1 = chr(77)
i2 = chr(97)
i3 = chr(65)
i4 = chr(36)
i5 = chr(35)
print(i1)
print(i2)
print(i3)
print(i4)
print(i5)
Production:
M
a
A
$
#
Fonction str ()
Utilisez cette fonction pour convertir n'importe quel objet Python en chaîne.
num = 73646
# Converts num (which is integer) to string
s = str(num)
# Prints the string
print(s)
# Type functions returns the type of object
# Here, <class 'str'> is returned
print(type(s))
Production:
73646
<class 'str'>
Comment joindre et diviser des chaînes en Python
Fractionner une chaîne
Vous pouvez utiliser la méthode split () pour diviser la chaîne en une liste de chaînes basée sur un délimiteur.
str1 = "Peter-Piper-picked-a-peck-of-pickled-peppers"
splitted_list1 = str1.split('-')
# Prints the list of strings that are split by - delimiter
print(splitted_list1)
str2 = "We surely shall see the sun shine soon"
splitted_list2 = str2.split(' ')
# Prints the list of strings that are split by a single space
print(splitted_list2)
Production:
['Peter', 'Piper', 'picked', 'a', 'peck', 'of', 'pickled', 'peppers']
['We', 'surely', 'shall', 'see', 'the', 'sun', 'shine', 'soon']
Joindre des chaînes
Vous pouvez utiliser la méthode join () pour joindre tous les éléments d'un objet itérable. Vous pouvez utiliser n'importe quel délimiteur pour joindre les éléments.
list1 = ["I", "thought", "I", "thought", "of", "thinking", "of", "thanking", "you"]
# Joins the list as a string by using - as a delimiter
str1 = "-".join(list1)
print(str1)
list2 = ["Ed", "had", "edited", "it"]
# Joins the list as a string by using a single space as a delimiter
str2 = " ".join(list2)
print(str2)
Production:
I-thought-I-thought-of-thinking-of-thanking-you
Ed had edited it
Vous comprenez maintenant la manipulation des chaînes
Le traitement des chaînes et des textes fait partie intégrante de la programmation. Les chaînes agissent comme un moyen de communiquer des informations du programme à l'utilisateur du programme. En utilisant Python, vous pouvez manipuler les chaînes comme vous le souhaitez.