Was Sie hier sehen, ist eine Funktion, die zwei mal Slicing Syntax hat. Für Objekte, die Aufschneiden Syntax unterstützen, kann man schreiben:
object[f:t]
mit f
und t
Indizes. Sie erhalten dann eine Teilsequenz, die mit f
beginnt und mit t
endet (t
ist exklusiv). Wenn f
oder t
nicht angegeben sind, bedeutet das normalerweise, dass wir von Anfang an oder bis zum Ende schneiden.
Die Funktion in Ihrer Frage ist ein bisschen kryptisch, und ist eigentlich äquivalent zu:
def get_extn(filename):
f = filename.rfind('.')
filename = filename[f:]
return filename[1:]
Also zuerst erhalten wir den Index des letzten Punktes, dann bauen wir einen Teil, die von f
beginnt, und schließlich Wir konstruieren eine Teilzeichenkette aus dieser Teilzeichenkette, die bei Index 1 beginnt (wodurch das erste Zeichen entfernt wird, das eine ist).
des Punkt abzustreifen. –
argh, warum nicht 'return filename [filename.rfind ('.') + 1:]' anstatt zweimal zu schneiden und eine zusätzliche temporäre Zeichenfolge in den Prozess zu erstellen? Das klingt nach jemandem, der die Lösung zusammenhackt ... – Baldrickk