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

Y2J
Libérer: 2017-05-18 14:19:45
original
2623 Les gens l'ont consulté

【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()
Copier après la connexion

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)
Copier après la connexion

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)
Copier après la connexion

Question 2. Comment afficher toutes les fonctions intégrées en python

  print dir(sys.modules[ 'builtin' ])
Copier après la connexion

Question 3. Comment Afficher les définitions de fonctions intégrées dans les modules intégrés

 print help(builtins)
Copier après la connexion

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
Copier après la connexion

Les résultats sont affichés sur la page suivante :

Les résultats en cours d'exécution :

world
world
wor
2h3h4
aaaadgat134f8sfewewrf
Copier après la connexion

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)
Copier après la connexion

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()
Copier après la connexion
result:wor
执行步骤:
elloworld
lloworld
oworld
oworl
 worl
 wor
wor
Copier après la connexion

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()
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal