jesteś tutaj�
165
Ponowne użycie kodu
Tworzenie funkcji ogólnego przeznaczenia
Poniżej znajdziesz wersję funkcji
search4vowels
(widoczną w oknie edycji środowiska
IDLE), która została zmodyfikowana w taki sposób, aby uwzględniać drugą z sugestii
zamieszczonych na końcu poprzedniej strony. A konkretnie: nazwę zmiennej
word
zastąpiliśmy tutaj bardziej odpowiadającą rzeczywistości nazwą
phrase
.
Zmienna word nosi
teraz nazwę „phrase”.
Pierwszą sugestią zamieszczoną na końcu poprzedniej strony było to, aby umożliwić użytkownikom
określanie zbioru liter, które mają być wyszukiwane, zamiast zawsze używać zapisanych na sztywno
pięciu samogłosek. Aby to zrobić, możemy dodać drugi argument funkcji, określający, których liter
należy szukać w łańcuchu znakowym
phrase
. Zmiana ta jest dość prosta do zrobienia. Jednak gdy
ją wprowadzimy, funkcja będzie miała niewłaściwą nazwę, ponieważ nie będzie już wyszukiwała
samogłosek, lecz dowolne litery należące do podanego zbioru. Zamiast zmieniać bieżącą funkcję,
na jej bazie utwórzmy nową. Oto co proponujemy Ci zrobić:
Nadaj funkcji bardziej ogólną nazwę.
Zamiast kontynuować poprawianie funkcji
search4vowels
, utwórzmy nową funkcję
o nazwie
search4letters
, która znacznie lepiej oddaje przeznaczenie tej funkcji.
Dodaj drugi argument.
Dodanie drugiego argumentu umożliwi nam określanie zbioru liter, które mają być wyszukiwane
w łańcuchu znakowym. Temu drugiemu argumentowi nadajmy nazwę
letters
. Nie zapomnijmy
przy tym również o dodaniu do niego odpowiedniej adnotacji.
Usuń zmienną vowels.
Użycie nazwy
vowels
w zestawie funkcji nie ma już najmniejszego sensu, ponieważ
od tej pory będziemy wyszukiwać litery podane przez użytkownika.
Zaktualizuj tekst dokumentujący.
Nie ma sensu kopiować, a następnie zmieniać kodu, jeśli odpowiednio nie zmodyfikujemy też
tekstu dokumentującego. Nasza dokumentacja musi zostać zmieniona w taki sposób,
aby odzwierciedlać działanie nowej funkcji.
Wykonamy te cztery zadania wspólnie. Pamiętaj, aby zmieniać zawartość pliku
vsearch.py wraz z tym, jak będziemy
omawiać poszczególne punkty, aby Twój kod odpowiednio odzwierciedlał prezentowane przez nas modyfikacje.
1
2
3
4
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.