Die Konvertierung von CamelCase zu Snake_case ist eine häufige Transformation in der Python-Programmierung. Bei dieser Frage geht es darum, einen effizienten Weg zur Ausführung dieser Aufgabe zu finden.
Der bereitgestellte Code nutzt das re-Modul, um diese Konvertierung zu erreichen:
import re
name = 'CamelCaseName'
name = re.sub(r'(?print(name) # camel_case_name
Dieser Code verwendet einen regulären Ausdruck, um Unterstriche vor Großbuchstaben einzufügen, und wandelt dann die resultierende Zeichenfolge in Kleinbuchstaben um. Das Ergebnis ist die gewünschte Snake_Case-Darstellung.
Wenn die Leistung ein Problem darstellt, kann die Regex vorher kompiliert werden:
Muster = re.compile(r'(?name = pattern.sub('_', name).lower()
Für fortgeschrittenere Fälle kann ein doppelter Substitutionsdurchgang verwendet werden:
def camel_to_snake(name):
name = re.sub('(.)([A-Z][a-z]+)', r'_', name) return re.sub('([a-z0-9])([A-Z])', r'_', name).lower()
Darüber hinaus kann der Code um handle erweitert werden mehrere Unterstriche:
def to_snake_case(name):
name = re.sub('(.)([A-Z][a-z]+)', r'_', name) name = re.sub('__([A-Z])', r'_', name) name = re.sub('([a-z0-9])([A-Z])', r'_', name) return name.lower()
Zusätzlich, Es wird eine umgekehrte Konvertierung von Snake_case in PascalCase bereitgestellt:
name = 'snake_case_name'
name = ''.join(word.title() für Wort in name.split('_'))
print(name) # SnakeCaseName
Das obige ist der detaillierte Inhalt vonWie konvertiert man CamelCase effizient in Snake_case in Python?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!