Zanurkuj w Pythonie/Formatowanie napisów w oparciu o słowniki: Różnice pomiędzy wersjami
Usunięta treść Dodana treść
Nie podano opisu zmian |
przetłumaczone |
||
Linia 1:
{{Podświetl|py}}
== Formatowanie napisów w oparciu o słowniki ==
Linia 25 ⟶ 23:
'''Przykład 8.14. Formatowanie napisu w <tt>BaseHTMLProcessor.py</tt>'''
<nowiki>
def handle_comment(self, text):
self.pieces.append("<!--%(text)s-->" % locals()) #(1)
</nowiki>
#
'''
def unknown_starttag(self, tag, attrs):
Linia 37 ⟶ 36:
self.pieces.append("<%(tag)s%(strattrs)s>" % locals()) #(2)
# Kiedy metoda ta zostaje wywołana, <tt>attrs</tt> jest listą krotek postaci klucz/wartość, podobnie jak zwrócona wartość metody słownika <tt>items</tt>, a co oznacza, że możemy wykorzystać wielozmienne przypisanie, aby ją przeiterować. Powinieneś już być zaznajomiony z wzorcami, ale tutaj wykonujemy wiele operacji, więc prześledźmy je po kolei:
##
##
##
##
##
##
#
{{Uwaga|
Korzystanie z formatowania napisu za pomocą słownika i funkcji <tt>locals</tt> jest wygodnym sposobem, aby tworzyć czytelniejsze skomplikowane wyrażenia listowa, lecz trzeba zapłacić pewną cenę. Jest tutaj drobny narzut wydajności, a jest to związane z wywołanie funkcji <tt>locals</tt>, ponieważ <tt>locals</tt> wykonuje kopię lokalnej przestrzeni nazw.
}}
|