Heim  >  Artikel  >  Backend-Entwicklung  >  Die magischen Verwendungsmöglichkeiten der Funktion „strip()“ in Python kennen Sie nicht

Die magischen Verwendungsmöglichkeiten der Funktion „strip()“ in Python kennen Sie nicht

Y2J
Y2JOriginal
2017-05-18 14:19:452565Durchsuche

【Vorspeisen】

Wenn es um die Strip-Methode in Python geht, muss jeder, der Python kennengelernt hat, wissen, dass es hauptsächlich zum Entfernen von Leerzeichen verwendet wird. Es gibt zwei Möglichkeiten, dies zu erreichen.

Methode 1: Verwenden Sie die integrierte Funktion

if name == 'main' :
    str = ' Hello world '
    print '[%s]' %str.strip()

Methode 2: Rufen Sie die Methode im String-Modul auf

import string
if name == 'main' :
    str = ' Hello world '
    print '[%s]' %string.strip(str)

Ich frage mich, ob Sie den Unterschied zwischen diesen beiden Anrufen kennen? Im Folgenden einige persönliche Meinungen

Ø str.strip() ist eine integrierte Funktion, die Python aufruft, string.strip(str) ist eine Methode, die das String-Modul aufruft

Ø string.strip (str) ist im String-Modul definiert. Und str.strip() ist im integrierten Modul definiert

Frage 1: Wie überprüfe ich, ob die Methode in einem Modul im integrierten Modul definiert ist?

Verwenden Sie dir (Modulname), um zu sehen, ob ein „builtins“-Attribut vorhanden ist.

Zum Beispiel: String-Modul anzeigen

print dir(string)

Frage 2. So zeigen Sie alle integrierten Funktionen in Python an

  print dir(sys.modules[ 'builtin' ])

Frage 3. Wie Sehen Sie sich die integrierten Funktionsdefinitionen in den integrierten Modulen an

 print help(builtins)

Jeder kennt das Obige. Kommen wir zum Thema dieses Artikels:

[Das schwierigste Gericht ]

Schauen Sie sich bitte zunächst die laufenden Ergebnisse der folgenden Programme an:

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

Die Ergebnisse werden auf der nächsten Seite angezeigt:

Die Laufergebnisse:

world
world
wor
2h3h4
aaaadgat134f8sfewewrf

Du hast schon richtig geantwortet? O(∩_∩)O~

Wenn du alle Antworten richtig hast, gebe ich dir hier 32 Likes...

Ergebnisanalyse:

Lass uns zuerst Überprüfen Sie die Zeichenfolge. Der Strip-Quellcode im Modul:

# 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)

Ich würde mir erlauben, ihn zu übersetzen: Diese Methode wird verwendet, um führende und nachfolgende Leerzeichen und Tabulatoren zu entfernen. Gibt eine Kopie von S string ohne Leerzeichen zurück. Wenn der Parameter chars nicht den Wert None hat, werden alle in chars vorkommenden Zeichen entfernt. Wenn chars Unicode ist, wird S vor der Operation in Unicode konvertiert.

Das Folgende ist eine Erklärung von Satz 1 2 3 im obigen Beispiel:

str = 'hello world'
print str.strip( ' heldo ' ).strip()
result:wor
执行步骤:
elloworld
lloworld
oworld
oworl
 worl
 wor
wor

Das Spezifische Code-Ausführungsprozess:

  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()

Ich weiß nicht, ob Sie das Geheimnis verstehen. Ich habe diese Regel mit Hilfe des Projektmanagers Shaan Fenyong entdeckt.

Jetzt eine kleine Zusammenfassung:

s.strip(chars)-Verwendungsregeln:

Durchlaufen Sie zuerst das erste Zeichen in chars, um zu sehen, ob es in S In ist die erste und letzte Position, wenn ja, entfernen Sie sie. Setzen Sie die entfernte neue Zeichenfolge auf s und fahren Sie mit der Schleife fort, beginnend mit dem ersten Zeichen in chars. Wenn nicht, beginnen Sie direkt mit dem zweiten Zeichen von chars. Machen Sie mit der Schleife weiter, bis das erste und das letzte Zeichen in s nicht mehr in Zeichen sind, dann endet die Schleife.

Wichtiger Punkt: Überprüfen Sie, ob die Zeichen in chars in S sind

Nachdem ich diese Methode gelesen hatte, stellte ich fest, dass die Python-Quellcode-Entwickler so großartig sind, dass sie sich sogar einen so klassischen Algorithmus vorstellen können .

【Gebäck nach dem Abendessen】

Diese Methode wird hauptsächlich verwendet, um bestimmte Zeichen an beiden Enden nach bestimmten Regeln zu entfernen. Wenn Satz 3 eine gute Anwendung ist.

Zum Beispiel: Fangen Sie die Zahlen an beiden Enden der Zeichenfolge ab oder ermitteln Sie die Zeichenfolge zwischen dem ersten und dem letzten Vorkommen des charakteristischen Zeichens usw.

[Verwandte Empfehlungen]

1. Python kostenloses Video-Tutorial

2. Die wenig bekannten Fallen von Strip() in Python

3.

Grundlegende Einführung in Python zeigt Ihnen, wie Sie die Funktion „strip()“ verwenden, um Leerzeichen zu entfernen

4.

Detaillierte Erklärung von „strip(“ ) und Split in Python. Verwendung von ()

5.

Detaillierte Erläuterung der Verwendungsszenarien der Strip-Funktion in Python

Das obige ist der detaillierte Inhalt vonDie magischen Verwendungsmöglichkeiten der Funktion „strip()“ in Python kennen Sie nicht. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn