Introduction aux fonctions de chaîne dans Python 3

introduction

Python a plusieurs fonctions intégrées associées auxstring data type. Ces fonctions nous permettent de modifier et de manipuler facilement des chaînes. Nous pouvons considérer les fonctions comme des actions que nous effectuons sur des éléments de notre code. Les fonctions intégrées sont celles qui sont définies dans le langage de programmation Python et que nous pouvons facilement utiliser.

Dans ce didacticiel, nous allons passer en revue différentes fonctions que nous pouvons utiliser pour manipuler des chaînes dans Python 3.

Faire des cordes majuscules et minuscules

Les fonctionsstr.upper() etstr.lower() renverront une chaîne avec toutes les lettres d'une chaîne originale converties en lettres majuscules ou minuscules. Les chaînes étant des types de données immuables, la chaîne renvoyée sera une nouvelle chaîne. Les caractères de la chaîne qui ne sont pas des lettres ne seront pas modifiés.

Convertissons la chaîneSammy Shark en majuscules:

ss = "Sammy Shark"
print(ss.upper())
OuputSAMMY SHARK

Convertissons maintenant la chaîne en minuscules:

print(ss.lower())
Ouputsammy shark

Les fonctionsstr.upper() etstr.lower() facilitent l'évaluation et la comparaison des chaînes en rendant la casse cohérente. Ainsi, si un utilisateur écrit son nom en minuscule, nous pouvons toujours déterminer s'il figure dans notre base de données en le comparant par exemple à une version en majuscule.

Méthodes Booléennes

Python a quelques méthodes de chaîne qui s'évaluent à unBoolean value. Ces méthodes sont utiles lorsque nous créons des formulaires que les utilisateurs doivent remplir, par exemple. Si nous demandons un code postal, nous ne voudrons accepter qu'une chaîne numérique, mais lorsque nous demanderons un nom, nous ne voudrons accepter qu'une chaîne alphabétique.

Il existe un certain nombre de méthodes de chaîne qui renverront des valeurs booléennes:

Méthode True si

str.isalnum()

La chaîne se compose uniquement de caractères alphanumériques (pas de symboles)

str.isalpha()

La chaîne se compose uniquement de caractères alphabétiques (pas de symboles)

str.islower()

Les caractères alphabétiques de la chaîne sont tous en minuscules

str.isnumeric()

La chaîne se compose uniquement de caractères numériques

str.isspace()

La chaîne se compose uniquement de caractères d'espacement

str.istitle()

La chaîne est dans la casse du titre

str.isupper()

Les caractères alphabétiques de la chaîne sont tous en majuscules

Voyons quelques-unes de celles-ci en action:

number = "5"
letters = "abcdef"

print(number.isnumeric())
print(letters.isnumeric())
OutputTrue
False

L'utilisation de la méthodestr.isnumeric() sur la chaîne5 renvoie une valeur deTrue, tandis que l'utilisation de la même méthode sur la chaîneabcdef renvoie une valeur deFalse.

De même, nous pouvons demander si les caractères alphabétiques d’une chaîne sont en majuscules, minuscules ou majuscules. Créons quelques chaînes:

movie = "2001: A SAMMY ODYSSEY"
book = "A Thousand Splendid Sharks"
poem = "sammy lived in a pretty how town"

Essayons maintenant les méthodes booléennes qui vérifient la casse:

print(movie.islower())
print(movie.isupper())
print(book.istitle())
print(book.isupper())
print(poem.istitle())
print(poem.islower())

Maintenant, nous pouvons exécuter ces petits programmes et voir le résultat:

Output of movie stringFalse
True
Output of book stringTrue
False
Output of poem stringFalse
True

Le fait de vérifier si les caractères sont en minuscules, en majuscules ou en majuscules peut nous aider à trier nos données de manière appropriée et à nous permettre de normaliser les données que nous recueillons en vérifiant puis en modifiant les chaînes si nécessaire.

Les méthodes de chaîne booléenne sont utiles lorsque nous voulons vérifier si quelque chose qu'un utilisateur entre correspond à des paramètres donnés.

Détermination de la longueur de la chaîne

La fonction de chaînelen() renvoie le nombre de caractères dans une chaîne. Cette méthode est utile lorsque, par exemple, vous devez imposer des longueurs de mot de passe minimales ou maximales ou tronquer des chaînes plus volumineuses afin qu'elles ne dépassent pas certaines limites afin de pouvoir être utilisées comme abréviations.

Pour illustrer cette méthode, nous allons trouver la longueur d’une chaîne longue d’une phrase:

open_source = "Sammy contributes to open source."
print(len(open_source))
Output33

Nous définissons la variableopen_source égale à la chaîne"Sammy contributes to open source.", puis nous avons passé cette variable à la fonctionlen() aveclen(open_source). Nous avons ensuite passé la méthode dans la méthodeprint() afin que nous puissions voir la sortie à l'écran de notre programme.

N'oubliez pas que tout caractère lié par des guillemets simples ou doubles - y compris les lettres, les chiffres, les espaces et les symboles - sera compté par la fonctionlen().

Méthodes join (), split () et replace ()

Les méthodesstr.join(),str.split() etstr.replace() sont quelques moyens supplémentaires de manipuler des chaînes en Python.

La méthodestr.join() concaténera deux chaînes, mais d'une manière qui passe une chaîne à une autre.

Créons une chaîne:

balloon = "Sammy has a balloon."

Maintenant, utilisons la méthodestr.join() pour ajouter des espaces à cette chaîne, ce que nous pouvons faire comme ceci:

" ".join(balloon)

Si nous imprimons ceci:

print(" ".join(balloon))

Nous verrons que dans la nouvelle chaîne qui est retournée, il y a un espace ajouté dans la première chaîne:

OuputS a m m y   h a s   a   b a l l o o n .

Nous pouvons également utiliser la méthodestr.join() pour renvoyer une chaîne qui est une inversion de la chaîne d'origine:

print("".join(reversed(balloon)))
Ouput.noollab a sah ymmaS

Nous ne voulions ajouter aucune partie d'une autre chaîne à la première, nous avons donc gardé les guillemets en contact sans laisser d'espace.

La méthodestr.join() est également utile pour combiner une liste de chaînes en une nouvelle chaîne unique.

Créons une chaîne séparée par des virgules à partir d’une liste de chaînes:

print(",".join(["sharks", "crustaceans", "plankton"]))
Ouputsharks,crustaceans,plankton

Si nous voulons ajouter une virgule et un espace entre les valeurs de chaîne dans notre nouvelle chaîne, nous pouvons simplement réécrire notre expression avec un espace après la virgule:", ".join(["sharks", "crustaceans", "plankton"]).

Tout comme nous pouvons joindre des chaînes, nous pouvons également les séparer. Pour ce faire, nous utiliserons la méthodestr.split():

print(balloon.split())
Ouput['Sammy', 'has', 'a', 'balloon.']

La méthodestr.split() renvoie une liste de chaînes séparées par des espaces si aucun autre paramètre n'est donné.

Nous pouvons également utiliserstr.split() pour supprimer certaines parties d'une chaîne d'origine. Par exemple, supprimons la lettrea de la chaîne:

print(balloon.split("a"))
Ouput['S', 'mmy h', 's ', ' b', 'lloon.']

Maintenant, la lettrea a été supprimée et les chaînes ont été séparées là où chaque instance de la lettrea avait été, avec des espaces conservés.

La méthodestr.replace() peut prendre une chaîne d'origine et renvoyer une chaîne mise à jour avec un remplacement.

Disons que le ballon que Sammy a eu est perdu. Puisque Sammy n'a plus cette bulle, nous allons changer la sous-chaîne"has" de la chaîne d'origineballoon en"had" dans une nouvelle chaîne:

print(balloon.replace("has","had"))

Dans les parenthèses, la première sous-chaîne correspond à ce que nous souhaitons remplacer, et la deuxième à celle avec laquelle nous remplaçons cette première sous-chaîne. Notre sortie ressemblera à ceci:

OuputSammy had a balloon.

L'utilisation des méthodes de chaînestr.join(),str.split() etstr.replace() vous fournira un meilleur contrôle pour manipuler les chaînes en Python.

Conclusion

Ce didacticiel présente certaines des méthodes intégrées courantes pour le type de données chaîne que vous pouvez utiliser pour manipuler et manipuler des chaînes dans vos programmes Python.

Pour en savoir plus sur les autres types de données, consultez la rubrique "https://www.digitalocean.com/community/tutorials/understanding-data-types-in-python-3[Understanding Data Types]", en savoir plus sur les chaînes dans la rubrique "https: //www.digitalocean.com/community/tutorials/an-inintroduction-to-working-with-strings-in-python-3[An Introduction à l'utilisation des chaînes], "et découvrez comment changer l'apparence des chaînes dans" https : //www.digitalocean.com/community/tutorials/how-to-format-text-in-python-3 [Comment formater du texte en Python 3]. ”