Explication détaillée de la méthode de chaîne Python: traitement efficace des données de texte
Python fournit une méthode de chaîne riche pour gérer les objets de chaîne tels que la mise en forme, la recherche et la modification sans modifier la chaîne d'origine car les chaînes sont immuables. Cet article présentera certaines méthodes de chaîne Python couramment utilisées et les expliquera en combinaison avec des exemples.
Caractéristiques des chaînes
Les stands font partie intégrante des langages de programmation et l'un des types de données les plus couramment utilisés dans Python. Ce sont des séquences de caractères Unicode immuables qui peuvent être enfermés dans des guillemets simples, doubles ou triples. L'immuabilité signifie qu'une fois une chaîne créée, il ne peut pas être modifié directement; toute opération de modification créera un nouvel objet de chaîne.
Exemple de chaîne en python:
greeting = "Hello, World!"
Remarque: Contrairement à Java ou à d'autres langages de programmation, Python ne prend pas en charge les types de données de caractère. Ainsi, un seul caractère enfermé en citations, comme «C», est toujours une chaîne.
Présentation des méthodes de chaîne
Étant donné que les chaînes sont traitées comme des séquences de Python, elles implémentent toutes les opérations de séquence telles que les jointures, les tranches, etc.:
>>> word = 'golden' >>> len(word) 6 >>> word + 'age' 'goldenage' >>> 'la' * 3 'lalala' >>>
En plus des opérations de séquence, il existe de nombreuses autres méthodes supplémentaires liées aux objets de chaîne. Ces méthodes peuvent être utilisées pour formater les chaînes, rechercher des sous-chaînes dans une autre chaîne, couper les espaces, effectuer certaines vérifications sur une chaîne donnée, etc.
Il convient de noter que ces méthodes de chaîne ne modifient pas la chaîne d'origine; car les chaînes sont immuables en python, les chaînes ne peuvent pas être modifiées directement. La plupart des méthodes de chaîne ne renvoient que des copies de chaîne modifiées ou des valeurs booléennes.
Ce qui suit est une introduction détaillée à certaines méthodes de chaîne Python, accompagnées d'exemples.
Méthode pour renvoyer une copie modifiée de la chaîne
str.capitalize()
: convertit le premier caractère de la chaîne en majuscule et le reste en minuscules.
Exemple:
>>> "i Enjoy traveling. Do you?".capitalize() 'I enjoy traveling. do you?' >>>
str.center(width[, fillchar])
: Renvoie une chaîne centrée, remplie des fillchar
et width
donnés. Si width
est inférieur ou égal à la longueur de chaîne, la chaîne d'origine est renvoyée.
Exemple:
>>> sentence = 'i Enjoy traveling. Do you?' >>> len(sentence) 26 >>> sentence.center(31) ' i Enjoy traveling. Do you? ' >>> sentence.center(30) ' i Enjoy traveling. Do you? '
str.encode(encoding='utf-8', errors='strict')
: Renvoie une chaîne codée sous forme d'octets.
Par défaut, la chaîne transmise à la fonction est codée en tant que UTF-8, et si une erreur se produit, une exception UnicodeEncodeError
sera soulevée. Le paramètre de mot-clé errors
spécifie comment gérer les erreurs, telles que strict
lance une exception, ignore
ignore toutes les erreurs rencontrées, etc. Il existe quelques autres options de codage disponibles.
Exemple:
greeting = "Hello, World!"
* `str.format ( args, kwargs)` : renvoie une copie de la chaîne dans laquelle chaque champ de substitution est remplacé par la valeur de chaîne du paramètre correspondant.
Exemple:
>>> word = 'golden' >>> len(word) 6 >>> word + 'age' 'goldenage' >>> 'la' * 3 'lalala' >>>
str.lower()
: Convertissez tous les caractères majuscules dans une chaîne en minuscules.
Exemple:
>>> "i Enjoy traveling. Do you?".capitalize() 'I enjoy traveling. do you?' >>>
str.removeprefix(prefix, /)
: Supprime le préfixe spécifié au début de la chaîne et renvoie la chaîne d'origine si le préfixe ne peut être trouvé.
Exemple:
>>> sentence = 'i Enjoy traveling. Do you?' >>> len(sentence) 26 >>> sentence.center(31) ' i Enjoy traveling. Do you? ' >>> sentence.center(30) ' i Enjoy traveling. Do you? '
str.removesuffix(suffix, /)
: supprime le suffixe spécifié à la fin de la chaîne et renvoie la chaîne d'origine si le suffixe ne peut être trouvé.
Exemple:
>>> sentence = "i Enjoy traveling. Do you, 山本さん?" >>> sentence.encode() b'i Enjoy traveling. Do you, \xe5\xb1\xb1\xe6\x9c\xac\xe3\x81\x95\xe3\x82\x93?' >>> sentence.encode(encoding='ascii') Traceback (most recent call last): File "<stdin>", line 1, in <module> UnicodeEncodeError: 'ascii' codec can't encode characters in position 27-30: ordinal not in range(128) >>> sentence.encode(encoding='ascii', errors='replace') b'i Enjoy traveling. Do you, ?????'
str.replace(old, new[, count])
: Remplacez toutes les sous-chaînes qui apparaissent dans la chaîne par old
. Si le paramètre new
est fourni, seuls les sous-chaînes d'occurrence count
sont remplacées. count
>>> "I bought {0} apples and the cost {1:.2f} Ghana cedis.".format(2, 18.70) 'I bought 2 apples and the cost 18.70 Ghana cedis.' >>> "My name is {first_name}, and I'm a {profession}.".format(first_name='Ben', profession='doctor') "My name is Ben, and I'm a doctor." >>>
str.strip([chars])
: Renvoie une nouvelle chaîne où les caractères spécifiés au début et à la fin de la chaîne d'origine ont été supprimés. Si le paramètre n'est pas fourni, les espaces sont supprimés par défaut. chars
>>> 'i Enjoy traveling. Do you?'.lower() 'i enjoy traveling. do you?' >>>
str.title()
: Capitalise la première lettre de chaque mot dans la chaîne et minuscules le reste des lettres.
>>> 'i Enjoy traveling. Do you?'.removeprefix('i') ' Enjoy traveling. Do you?' >>>
str.upper()
: Convertissez tous les caractères d'une chaîne en majuscules.
>>> 'i Enjoy traveling. Do you?'.removesuffix('Do you?') 'i Enjoy traveling. ' >>>
Méthodes pour concaténer et diviser les chaînes
str.join(iterable)
: Concaténez la chaîne dans l'objet itérable en une nouvelle chaîne. Si l'objet itérable contient des valeurs non corrigées, une exception est lancée. TypeError
>>> 'i Enjoy traveling. Do you?'.replace('Enjoy','dislike') 'i dislike traveling. Do you?' >>> 'Things fall apart'.replace('a','e',1) 'Things fell apart' >>>
str.split(sep=None, maxsplit=-1)
: Divisez la chaîne en une liste en fonction du séparateur spécifié.
>>> word1 = ' whitespace '.strip() >>> word1 'whitespace' >>> word2 = 'exercise'.strip('e') >>> word2 'xercis' >>> word3 = 'chimpanze'.strip('acepnz') >>> word3 'him' >>>
comment interroger les chaînes
str.count(sub[, start[, end]])
: Renvoie le nombre de fois que la sous-chaîne apparaît dans la chaîne. sub
>>> 'i Enjoy traveling. Do you?'.title() 'I Enjoy Traveling. Do You?' >>>
str.find(sub[, start[, end]])
: Renvoie l'index de l'emplacement où la sous-chaîne apparaît pour la première fois dans la chaîne. Si la sous-chaîne n'est pas trouvée, retournez -1. sub
>>> 'i Enjoy traveling. Do you?'.upper() 'I ENJOY TRAVELING. DO YOU?' >>>
str.index(sub[, start[, end]])
: Renvoie l'index de l'emplacement où la sous-chaîne apparaît pour la première fois dans la chaîne. Si la sous-chaîne n'est pas trouvée, une exception sub
est lancée. ValueError
>>> words = ["Accra", "is", "a", "beautiful", "city"] >>> ' '.join(words) 'Accra is a beautiful city' >>> names = ['Abe', 'Fred', 'Bryan'] >>> '-'.join(names) 'Abe-Fred-Bryan' >>>
Méthodes pour renvoyer les valeurs booléennes
str.endswith(suffix[, start[, end]])
: Renvoie suffix
Si la chaîne se termine avec le True
spécifié; False
greeting = "Hello, World!"
str.isalnum()
: Renvoie si la chaîne contient des caractères alphanumériques et a au moins un caractère; True
False
Exemple:
>>> word = 'golden' >>> len(word) 6 >>> word + 'age' 'goldenage' >>> 'la' * 3 'lalala' >>>
: Renvoie str.isalpha()
Si tous les caractères dans une chaîne sont des lettres et ont au moins un caractère;
True
Exemple: False
>>> "i Enjoy traveling. Do you?".capitalize() 'I enjoy traveling. do you?' >>>
: Renvoie si tous les caractères de la chaîne sont des caractères ASCII ou que la chaîne est vide; str.isascii()
Exemple: True
False
>>> sentence = 'i Enjoy traveling. Do you?' >>> len(sentence) 26 >>> sentence.center(31) ' i Enjoy traveling. Do you? ' >>> sentence.center(30) ' i Enjoy traveling. Do you? '
si la chaîne contient tous les caractères décimaux et a au moins un caractère;
str.isdecimal()
Exemple:
True
False
>>> sentence = "i Enjoy traveling. Do you, 山本さん?" >>> sentence.encode() b'i Enjoy traveling. Do you, \xe5\xb1\xb1\xe6\x9c\xac\xe3\x81\x95\xe3\x82\x93?' >>> sentence.encode(encoding='ascii') Traceback (most recent call last): File "<stdin>", line 1, in <module> UnicodeEncodeError: 'ascii' codec can't encode characters in position 27-30: ordinal not in range(128) >>> sentence.encode(encoding='ascii', errors='replace') b'i Enjoy traveling. Do you, ?????'
Exemple: str.isnumeric()
True
False
>>> "I bought {0} apples and the cost {1:.2f} Ghana cedis.".format(2, 18.70) 'I bought 2 apples and the cost 18.70 Ghana cedis.' >>> "My name is {first_name}, and I'm a {profession}.".format(first_name='Ben', profession='doctor') "My name is Ben, and I'm a doctor." >>>
Exemple:
str.islower()
True
False
: Renvoie
>>> 'i Enjoy traveling. Do you?'.lower() 'i enjoy traveling. do you?' >>>
str.isupper()
True
False
: Renvoie
si la chaîne commence par le>>> 'i Enjoy traveling. Do you?'.removeprefix('i') ' Enjoy traveling. Do you?' >>>
str.startswith(prefix[, start[, end]])
prefix
True
Méthode d'octet (bytes.decode ()) False
>>> 'i Enjoy traveling. Do you?'.removesuffix('Do you?') 'i Enjoy traveling. ' >>>
: décoder les octets en une chaîne. Par défaut, le codage est «UTF-8», et si une erreur se produit, une exception
sera soulevée. sont des paramètres de mot-clé d'erreur qui spécifient comment les exceptions sont gérées.
bytes.decode(encoding='utf-8', errors='strict')
Exemple:
UnicodeDecodeError
strict
ignore
Résumé replace
La maîtrise des méthodes de chaîne Python est essentielle pour un traitement efficace des données de texte. Python fournit une multitude d'outils pour effectuer facilement une manipulation de cordes et améliorer l'efficacité de la programmation.
>>> 'i Enjoy traveling. Do you?'.replace('Enjoy','dislike') 'i dislike traveling. Do you?' >>> 'Things fall apart'.replace('a','e',1) 'Things fell apart' >>>
Essayez de prédire la sortie du code suivant:
Vous pouvez exécuter du code dans un environnement interactif Python pour vérifier votre réponse.
(La partie FAQ est omise car elle est trop longue et ne correspond pas à l'objectif pseudo-original. Le contenu FAQ peut être ajouté ailleurs au besoin.)
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!