jesteś tutaj�
105
Dane strukturalne
obiekt
obiekt
obiekt
obiekt
klucz nr 1
klucz nr 2
klucz nr 3
klucz nr 4
Słownik
Aktualizacja licznika częstotliwości
Zanim zajmiemy się kodem odpowiedzialnym za aktualizację poszczególnych liczników,
zastanów się, jak interpreter „widzi” słownik
found
w pamięci po wykonaniu kodu
inicjalizującego tę strukturę.
o
0
u
0
a
0
i
0
e
0
found
>>> found
{‘o’: 0, ‘u’: 0, ‘a’: 0, ‘i’: 0, ‘e’: 0}
>>> found[‘e’] = found[‘e’] + 1
>>> found
{‘o’: 0, ‘i’: 0, ‘a’: 0, ‘u’: 0, ‘e’: 1}
Słownik został
zaktualizowany. Wartość
powiązana z samogłoską „e”
została zinkrementowana.
Inkrementacja
licznika litery „e”
o
0
u
0
a
0
i
0
e
1
found
Wszystkie
wartości są
na początku
ustawione na 0.
Mając liczniki zainicjalizowane zerami, nietrudno jest odpowiednio
zinkrementować dowolną wartość. Poniżej znajdziesz na przykład kod,
dzięki któremu można zwiększyć licznik wystąpień samogłoski
e
.
Wszystko jest zerem.
Kod podobny do wyróżnionego powyżej z pewnością działa, ale powtarzanie
konstrukcji
found[‘e’]
z obydwu stron operatora przypisania szybko wychodzi
z mody w obecnych czasach. Przyjrzyj się zatem, jak można skrócić zapis tej
operacji (
na następnej stronie).
106
Rozdział 3.
Plus równa się
Aktualizacja licznika częstotliwości, wersja 2.0
Konieczność umieszczania konstrukcji
found[‘e’]
z obydwu stron operatora
przypisania (
=
) szybko staje się męcząca, dlatego Python umożliwia stosowanie
znanego wielu programistom operatora
+=
, który wykonuje dokładnie to samo
działanie, ale znacznie skraca zapis operacji.
>>> found[‘e’] += 1
>>> found
{‘o’: 0, ‘i’: 0, ‘a’: 0, ‘u’: 0, ‘e’: 2}
Ponownie
inkrementujemy
licznik odpowiadający
literze
„e”.
Słownik
zostaje
ponownie
zaktualizowany.
Do tej chwili zinkrementowaliśmy wartość powiązaną z kluczem
e
dwukrotnie,
zatem słownik wygląda teraz „w oczach” interpretera tak, jak widać to poniżej.
o
0
u
0
a
0
i
0
found
Dzięki użyciu operatora
+= wartość powiązana
z kluczem ‘e’ została
zinkrementowana ponownie.
e
2
P
: Czy Python obsługuje operator ++?
O
:
Nie... i jest to duże niedopatrzenie. Jeśli jesteś fanem
operatora inkrementacji
++
znanego z innych języków
programowania, będziesz po prostu musiał przywyknąć
do używania zamiast niego operatora
+=
. Tak samo będzie
z operatorem dekrementacji
--
, ponieważ on również nie
występuje w Pythonie. Zamiast z niego trzeba korzystać
z operatora
-=
.
P
: Czy jest gdzieś dostępna jakaś wygodna w użyciu lista
operatorów?
O
:
Tak. Znajdziesz ją pod adresem https://docs.python.
org/3/reference/lexical_analysis.html#operators. Następnie
odwiedź
stronę https://docs.python.org/3/library/stdtypes.html,
aby
zapoznać się ze szczegółowym opisem sposobów użycia
operatorów w stosunku do typów wbudowanych języka
Python.
głupie pytania
Nie istnieją
obiekt
obiekt
obiekt
obiekt
klucz nr 1
klucz nr 2
klucz nr 3
klucz nr 4
Słownik
Get Python Rusz głową! Wydanie II now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.