Maison > Article > développement back-end > Les utilisations magiques de la fonction strip() en Python que vous ne connaissez pas
【Apéritifs】
En ce qui concerne la méthode strip en python, tous ceux qui ont été exposés à python doivent savoir qu'elle est principalement utilisée pour supprimer des espaces. Il existe deux manières d'y parvenir.
Méthode 1 : Utiliser la fonction intégrée
if name == 'main' : str = ' Hello world ' print '[%s]' %str.strip()
Méthode 2 : Appeler la méthode dans le module chaîne
import string if name == 'main' : str = ' Hello world ' print '[%s]' %string.strip(str)
Je me demande si vous connaissez la différence entre ces deux appels ? Voici quelques opinions personnelles
Ø str.strip() est une fonction intégrée qui appelle python, string.strip(str) est une méthode qui appelle le module string
Ø string.strip (str) est défini dans le module string. Et str.strip() est défini dans le module intégré
Question 1 : Comment vérifier si la méthode dans un module est définie dans le module intégré ?
Utilisez dir (nom du module) pour voir s'il existe un attribut 'builtins'.
Par exemple : Afficher le module de chaîne
print dir(string)
Question 2. Comment afficher toutes les fonctions intégrées en python
print dir(sys.modules[ 'builtin' ])
Question 3. Comment Afficher les définitions de fonctions intégrées dans les modules intégrés
print help(builtins)
Tout le monde connaît ce qui précède Passons au sujet de cet article :
[Le plat le plus difficile. ]
Tout d'abord, veuillez jeter un œil aux résultats en cours des programmes suivants :
if name == 'main' : str = 'hello world' print str.strip( 'hello' ) print str.strip( 'hello' ).strip() print str.strip( ' heldo ' ).strip() #sentence 1 stt = 'h1h1h2h3h4h' print stt.strip( 'h1' ) #sentence 2 s = '123459947855aaaadgat134f8sfewewrf7787789879879' print s.strip( '0123456789' ) #sentence 3
Les résultats sont affichés sur la page suivante :
Les résultats en cours d'exécution :
world world wor 2h3h4 aaaadgat134f8sfewewrf
Vous avez répondu correctement Déjà ? O(∩_∩)O~
Si vous avez toutes les réponses correctes, je vous donnerai 32 likes ici...
Analyse des résultats :
Tout d'abord, commençons vérifiez la chaîne Le code source du strip dans le module :
# Strip leading and trailing tabs and spaces def strip (s, chars= None ): """strip(s [,chars]) -> string Return a copy of the string swith leading and trailing whitespace removed. If chars is given and not None,remove characters in chars instead. If chars is unicode, S will beconverted to unicode before stripping. """ return s.strip(chars)
Je voudrais prendre la liberté de le traduire : Cette méthode est utilisée pour supprimer les espaces et les tabulations de début et de fin. Renvoie une copie de S string avec les espaces supprimés. Si le paramètre chars n'a pas la valeur None, alors tous les caractères apparaissant dans chars sont supprimés. Si chars est unicode, S est converti en unicode avant l'opération
Ce qui suit est une explication de la phrase 1 2 3 dans l'exemple ci-dessus :
str = 'hello world' print str.strip( ' heldo ' ).strip()
result:wor 执行步骤: elloworld lloworld oworld oworl worl wor wor
Le spécifique. code Processus d'exécution :
print str.strip( 'h' ) print str.strip( 'h' ).strip( 'e' ) print str.strip( 'h' ).strip( 'e' ).strip( 'l' ) print str.strip( 'h' ).strip( 'e' ).strip( 'l' ).strip( 'd' ) print str.strip( 'h' ).strip( 'e' ).strip( 'l' ).strip( 'd' ).strip( 'o' ) print str.strip( 'h' ).strip( 'e' ).strip( 'l' ).strip( 'd' ).strip( 'o' ).strip( 'l' ) print str.strip( 'h' ).strip( 'e' ).strip( 'l' ).strip( 'd' ).strip( 'o' ).strip( 'l' ).strip()
Je ne sais pas si vous comprenez le mystère. J'ai découvert cette règle avec l'aide du chef de projet Shaan Fenyong.
Maintenant un petit résumé :
Règles d'utilisation de s.strip(chars) :
Parcourez d'abord le premier caractère de chars pour voir s'il est dans S In la première et la dernière position, si c'est le cas, supprimez-la. Définissez la nouvelle chaîne supprimée sur s, continuez la boucle , en commençant par le premier caractère des caractères. Sinon, commencez directement par le deuxième caractère de chars. Continuez la boucle jusqu'à ce que le premier et le dernier caractères de s ne soient plus des caractères, puis la boucle se termine.
Point clé : Vérifiez si les caractères des caractères sont en S
Après avoir lu cette méthode, j'ai trouvé que les développeurs de code source Python sont tellement géniaux qu'ils peuvent même penser à un algorithme aussi classique .
【Pâtisseries d'après-dîner】
Cette méthode est principalement utilisée pour supprimer les caractères spécifiés aux deux extrémités selon des règles spécifiques. Si la phrase 3 est une bonne application.
Par exemple : intercepter les nombres aux deux extrémités de la chaîne, ou récupérer la chaîne entre la première et la dernière occurrence du caractère caractéristique, etc.
[Recommandations associées]
1. Tutoriel vidéo gratuit Python
2.Les pièges peu connus de strip() en python.
Explication détaillée de strip( ) et split en python Comment utiliser ()
5 Explication détaillée des scénarios d'utilisation de la fonction strip en python
.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!