Abstrakcja w Pythonie

Spisie treści
Abstrakcja w tworzeniu oprogramowania jest dość ważna, ponieważ pozwala nam definiować fragmenty kodu, które działają samodzielnie ze wspólną złożonością, wiele razy możemy użyć funkcji abstrakcyjnych, które mają zastosowanie w tak wielu przypadkach, że możemy ich używać, kiedy tylko chcemy.
Jeśli zobaczymy programy, w których być może napisaliśmy Pyton Śledząc samouczki widzimy, że są to małe programy z maksymalnie 15 do 20 wierszami, jednak gdybyśmy chcieli napisać znacznie większy program, byłby to duży problem, gdybyśmy nie radzili sobie z abstrakcją. Pamiętaj, że zaletą programisty jest to, że nie wykonuje niepotrzebnej pracy, czyli nie wykonuje dwa razy tego samego lub nie powtarza się.
Zobaczmy poniższy kod, oblicza on pierwszych 10 liczb a ciąg Fibonacciego:
 fibs = [0, 1] dla i w zakresie (8): fibs.append (fibs [-2] + fibs [-1]) 

To skutecznie skutkuje pierwszymi 10 liczbami

Teraz, co się stanie, jeśli chcemy, aby użytkownik zdefiniował, że zamiast 10 liczb jest to wielkość dynamiczna, to zmieniamy nasz kod w następujący sposób:
 fibs = [0, 1] num = input ('Ile liczb Fibonacciego chcesz?') dla i w zakresie (num-2): fibs.append (fibs [-2] + fibs [-1]) print fibs 

Jak dotąd wszystko wydaje się normalne, nie widzimy żadnego problemu technicznego, jednak jest problem z filozofią programowania, na przykład jeśli chcemy to zrobić w kilku częściach programu, musimy pisać te wszystkie wiersze w kółko, byłoby to to, co nazywamy niepotrzebną pracą. To, co nazywamy abstrakcją, jest krótszym kodem, w którym to, co dzieje się za nim, jest izolowane, wykonane w taki sposób, że działa w dowolnym miejscu, a my martwimy się tylko o uzyskanie tego, co jest konieczne dla naszych warunków, bardziej abstrakcyjny sposób widzenia poprzednich kodów wyglądałoby tak:
 num = input ('Ile liczb chcesz?') print fibs (num) 

Zauważmy, że jest to całkowicie bezpośrednie, prosimy o podanie liczby liczb, które użytkownik chce, a następnie wypisujemy wynik, będąc tym, co się dzieje, że mamy zdefiniowaną funkcję fibs w innym miejscu, która pozwala nam wywoływać ją w dowolnym momencie, unikając potrzeby do wykonywania pętli obliczeń w kółko, dzięki czemu nasz program jest bardziej czytelny i mniej złożony.
Czytelność to wszystko, gdy tworzymy duży program, ważne jest również zarządzanie zasobami systemu i wydajnością, ale jak ulepszyć program, jeśli nie rozumiemy go podczas czytania, na przykład ten kod:
 page = download_page () freqs = compute_frequencies (strona) for word, freq in freqs: print word, freq 

Czytając to wiemy co robi i co ma zwrócić, to abstrakcja w najczystszym stanie, nie interesuje nas to, jak w tym momencie działają metody i funkcje, teraz, gdy wydajność i zarządzanie zasobami staje się problematyczne, po prostu pracujemy nad funkcja i program nie zostałyby naruszone, więc pracowalibyśmy tylko raz.
To wszystko na potrzeby tego samouczka, pozostał nam materiał do dalszego myślenia i doskonalenia naszej mentalności programistycznej, abyśmy mogli abstrahować nasz kod i pracować znacznie wydajniej.

Będziesz pomóc w rozwoju serwisu, dzieląc stronę ze swoimi znajomymi

wave wave wave wave wave