Mit x.split(y)
immer eine Liste von 1 + x.count(y)
Artikel ist ein kostbares Regelmäßigkeit - wie @ gnibbler schon hat darauf hingewiesen , macht es split
und join
genau invers zueinander ist (wie sie sollte offensichtlich sein), ist es auch Karten genau die Semantik aller Arten von Trennzeichen verbundenen Aufzeichnungen ( B. csv
Dateizeilen [[ohne Anführungszeichen]], Zeilen aus /etc/group
Unix usw., ermöglicht es (wie in der Antwort von @ Roman erwähnt) eine einfache Überprüfung auf (z. B.) absolute oder relative Pfade (in Dateipfaden und URLs). und so weiter.
Eine andere Sichtweise ist, dass Sie Informationen nicht ohne Gewinn aus dem Fenster werfen sollten. Was würde man erreichen, wenn man x.split(y)
gleichwertig wäre x.strip(y).split(y)
? Nichts, natürlich - es ist einfach , die zweite Form zu verwenden , wenn das ist , was du meinst, aber wenn die erste Form willkürlich die zweiten verstanden wurde als würden Sie viel Arbeit zu tun , wenn Sie sich den ersten wollen ( was alles andere als selten ist, wie der vorige Absatz hervorhebt).
Das Denken in mathematischer Regelmäßigkeit ist jedoch die einfachste und allgemeinste Methode, mit der Sie sich das Entwerfen passabler APIs beibringen können. Um ein anderes Beispiel zu nehmen, ist es sehr wichtig , dass für jeden gültig x
und y
x == x[:y] + x[y:]
- die sofort anzeigt , warum eine Extrem ein Aufschneiden soll ausgeschlossen werden. Je einfacher die invariante Behauptung ist, die Sie formulieren können, desto wahrscheinlicher ist es, dass die resultierende Semantik das ist, was Sie im wirklichen Leben benötigen - ein Teil der mystischen Tatsache, dass Mathematik im Umgang mit dem Universum sehr nützlich ist.
Versuchen Sie, die invariant für eine Formulierung split
Dialekt , in dem vorderen und hinteren Begrenzungszeichen sind spezielle Gefasste ... Gegenbeispiel: String - Methoden wie isspace
nicht maximal einfach sind - x.isspace()
entspricht x and all(c in string.whitespace for c in x)
- das dumme führende x and
ist , warum Sie so oft finden sich Codierung not x or x.isspace()
, auf die Einfachheit zurück zu bekommen , die sollte in die entworfen wurden , is...
String - Methoden (wobei ein leerer String „ist“ alles , was Sie wollen - im Gegensatz zu man-in-the-Straße Pferde Sinn, vielleicht [[leere Sätze, wie Null & c, haben die meisten Leute immer verwirrt ;-)]], aber voll und ganz dem offensichtlich gut verfeinerten mathematischen gesunden Menschenverstand entsprechend! -).