Maison >développement back-end >Tutoriel Python >Les utilisations magiques de la fonction strip() en Python que vous ne connaissez pas

Les utilisations magiques de la fonction strip() en Python que vous ne connaissez pas

Y2J
Y2Joriginal
2017-05-18 14:19:452660parcourir

【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.

3. L'introduction de base à Python vous apprend à utiliser la fonction strip() pour supprimer les espaces nrt

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn