Szablony ciągów Pythona

ikona Pythona zrobione w Tango! styl

Ludzie z Tango! projekt/Wikimedia Commons





Python jest interpretowanym, zorientowanym obiektowo, wysokopoziomowym język programowania . Jest łatwy do nauczenia, ponieważ jego składnia podkreśla czytelność, co zmniejsza koszty utrzymania programu. Wielu programistów uwielbia pracować Pyton ponieważ — bez etapu kompilacji — testowanie i debugowanie przebiegają szybko.​

Szablony WWW w Pythonie

Szablony, zwłaszcza szablony internetowe, reprezentują dane w formularzach, które zwykle mają być czytelne dla widza. Najprostsza forma aparatu szablonowania podstawia wartości do szablonu w celu wygenerowania danych wyjściowych.



Oprócz stałych łańcuchowych i przestarzałych funkcji łańcuchowych, które zostały przeniesione do metod łańcuchowych, moduł łańcuchowy Pythona zawiera również szablony łańcuchowe. Sam szablon jest klasą, która jako argument otrzymuje ciąg. Obiekt utworzony z tej klasy jest nazywany obiektem ciągu szablonu. Łańcuchy szablonów zostały po raz pierwszy wprowadzone w Pythonie 2.4. Tam, gdzie operatory formatowania ciągów używały znaku procentu do podstawienia, obiekt szablonu używa znaków dolara.

    $$jest sekwencją specjalną; jest zastąpiony pojedynczym $ .$nazywa symbol zastępczy podstawienia pasujący do klucza mapowania . Domyślnie musi przeliterować identyfikator Pythona. Pierwszy znak niebędący identyfikatorem po znaku $ kończy tę specyfikację symbolu zastępczego.${}jest odpowiednikiem $. Jest to wymagane, gdy prawidłowe znaki identyfikatora występują po symbolu zastępczym, ale nie są częścią symbolu zastępczego, na przykład ${noun}ification.

Poza tymi zastosowaniami znaku dolara każde pojawienie się znaku $ powoduje wygenerowanie błędu ValueError. Metody dostępne za pośrednictwem ciągów szablonów są następujące:



  • Klasa strunowy. Szablon ( szablon ): Konstruktor przyjmuje pojedynczy argument, który jest ciągiem szablonu.
  • Zastąpić( mapowanie, **słowa kluczowe ): Metoda, która zastępuje wartości ciągu ( mapowanie) dla wartości ciągu szablonu. Mapowanie jest obiektem podobnym do słownika, a jego wartości mogą być dostępne jako słownik. Jeśli słowa kluczowe używany jest argument, reprezentuje symbole zastępcze. Gdzie obaj mapowanie oraz słowa kluczowe są używane, pierwszeństwo ma ta ostatnia. Jeśli brakuje symbolu zastępczego z mapowanie lub słowa kluczowe , zostanie zgłoszony KeyError.Bezpieczny_ zastąpić( mapowanie, **słowa kluczowe ): Działa podobnie do replace(). Jeśli jednak brakuje symbolu zastępczego z mapowanie lub słowa kluczowe , domyślnie używany jest oryginalny symbol zastępczy, co pozwala uniknąć KeyError. Ponadto każde wystąpienie „$” zwraca znak dolara.

Obiekty szablonu mają również jeden publicznie dostępny atrybut:

    Szablonjest obiektem przekazanym do argumentu szablonu konstruktora. Chociaż dostęp tylko do odczytu nie jest wymuszany, najlepiej nie zmieniać tego atrybutu w programie.

Poniższa przykładowa sesja powłoki służy do zilustrowania obiektów ciągu szablonu.

|_+_||_+_|
|_+_|
|_+_|
|_+_|
|_+_|
|_+_|
|_+_|