Zrozumienie abstrakcji: jak działa abstrakcja w Pythonie?
Opublikowany: 2023-04-08Python jest jednym z najczęściej używanych języków programowania. Python ułatwił użytkownikom wydajniejsze programowanie za pomocą abstrakcji. Ta koncepcja sprawia, że użytkownicy koncentrują się tylko na istotnych informacjach i ukrywają zbędne szczegóły.
Spis treści
Czym jest abstrakcja w Pythonie?
Abstrakcja jest zdefiniowana jako podstawowa koncepcja programowania obiektowego. Pomaga w enkapsulacji danych implementacji klasy od jej użytkowników. Abstrakcjaw Pythonie pomaga w interakcji z klasą bez zrozumienia jej wewnętrznego działania.Osiąga się to za pomocą abstrakcyjnych interfejsów i klas.
Abstrakcjaw Pythonie odnosi się ponadto do zarządzania złożonością poprzez ukrywanie niepotrzebnych informacji przed użytkownikiem.Dzięki temu kodowanie jest uproszczone. Użytkownik jedynie wchodzi w interakcję z podstawową implementacją klas i funkcji; wewnętrzna praca pozostaje ukryta.
Zasadniczo użytkownik zna tylko cel funkcji; nie wiedzą, jak to się udaje. Zauważ, że abstrakcji nie można utworzyć, tzn. nie możemy tworzyć obiektów dla klasy abstrakcji. Sprawia, że Twój kod jest bardziej rozszerzalny, czytelny i łatwiejszy w utrzymaniu. Ponadto pozwala uniknąć powielania. Skupienie się tylko na głównej koncepcji może pomóc poprawić wydajność pracy.
Jak działa abstrakcja w Pythonie?
Kluczową rolą abstrakcji jest ukrycie wewnętrznego działania kodu. Interakcje z użytkownikami są realizowane za pośrednictwem podstawowej implementacji. Koncepcja abstrakcji w Pythonie działa przy użyciu abstrakcyjnych klas i metod.
Klasa abstrakcyjna jest zdefiniowana jako klasa wymieniona w kodzie, która ma metody abstrakcyjne. Metody abstrakcyjne nie mają żadnej implementacji; wszystkie implementacje są wykonywane w ramach podklas.
Python używa samozmiennych definicji metod podczas inicjalizacji zmiennej. Metoda klasowa dostarcza informacji o klasie. Ta metoda musi zadeklarować self jako parametr, aby zdefiniować metodę natychmiastową.
Możesz łatwo zrozumieć działanieabstrakcji danych w Pythonie za pomocą rzeczywistego scenariusza.Robiąc zakupy online, kupujesz lub dodajesz produkty do koszyka, a następnie płacisz za nie. Jednak po kliknięciu w dostępne opcje wykonują one wewnętrznie kilka funkcji, których realizacja jest niedostępna dla użytkownika. Użytkownik widzi tylko wymagany widok. W tym przypadku działa abstrakcja, szukając korzyści z klasyfikacji hierarchicznej, tj. złożone moduły są podzielone na łatwe do zarządzania części.
Znaczenie abstrakcji w Pythonie
Oto jak abstrakcja potwierdza swoje znaczenie w różnych funkcjach w Pythonie, aby uprościć przebiegi programowania w odpowiednim języku.
- Abstrakcjaw Pythonie pomaga ukryć nieistotną klasę/dane/proces, a tym samym zmniejsza złożoność kodowania.
- Poprawia wydajność aplikacji.
- Abstrakcja w Pythonie umożliwia użytkownikom tworzenie skalowalnych i elastycznych funkcji, które można łatwo dostosować.
Klasy bazowe abstrakcji
W Pythonie abstrakcyjna klasa bazowa odnosi się do wspólnego programu użytkowego interfejsu dla wielu podklas. Mówiąc prościej, działa jako plan dla innych klas. Strona trzecia może go używać do czerpania korzyści z implementacji, takich jak wtyczki.
Definiując abstrakcyjne klasy podstawowe, można opracować wspólny interfejs programowania aplikacji (API) dla różnych podklas. Jest to korzystne podczas pracy w dużych zespołach, tak aby nie trzeba było zapamiętywać wszystkich zajęć. Co więcej, osoby trzecie nie muszą prowadzić wszystkich zajęć w bibliotece.
Możesz użyć tej funkcji abstrakcji danych w Pythonie, jeśli pracujesz z ogromną bazą kodu i masz trudności z zapamiętaniem wszystkich klas.
Ucz się online na kursach nauki o danych na najlepszych światowych uniwersytetach. Zdobądź programy Executive PG, Advanced Certificate Programs lub Masters Programs, aby przyspieszyć swoją karierę.
Funkcjonalność klas abstrakcyjnych
W przeciwieństwie do innych języków programowania wysokiego poziomu, Python nie zapewnia własnej klasy abstrakcyjnej. Możesz użyć metody ABC Pythona, która oferuje podstawowe i niezbędne narzędzia do definiowania abstrakcyjnych klas bazowych (ABC). Zasadniczo ABC zapewnia funkcję wirtualnych podklas. Są to klasy, które nie dziedziczą właściwości z klasy i nadal można je zidentyfikować
isinstance() i issubclass().
Poniższy moduł pomoże Ci opracować własne ABC.
z abc import ABC
klasa MojeABC(ABC):
przechodzić
Jak wspomniano powyżej, moduł ABC oferuje metaklasę, tj. ABCMeta, która definiuje definiowanie ABC, oraz klasę pomocniczą ABC do definiowania ABC za pomocą dziedziczenia.Ponadto moduł ABC oferuje dekorator@abstractmethod do reprezentowania metod abstrakcyjnych.ABC jest zdefiniowane w taki sposób, że słowo kluczowe@abstractmethod dekoruje metody abstrakcyjne w klasie bazowej podczas ich tworzenia.Ponadto konkretne metody są reprezentowane jako implementacje klasy bazowej.
Poniższaabstrakcja w przykładzie Pythona pomaga lepiej zrozumieć funkcjonalność klas abstrakcyjnych.
Zapoznaj się z naszymi popularnymi kursami Data Science
Executive Post Graduate Program in Data Science z IIITB | Profesjonalny program certyfikatów w dziedzinie nauki o danych w podejmowaniu decyzji biznesowych | Master of Science in Data Science na University of Arizona |
Zaawansowany program certyfikacji w nauce o danych z IIITB | Profesjonalny program certyfikatów w dziedzinie nauki o danych i analityki biznesowej na University of Maryland | Kursy nauki o danych |
from abc import ABC, metoda abstrakcyjna
Przedmiot klasy (ABC):
wynik def (własny):
przechodzić
klasa Angielski(Przedmiot):
wynik def (własny):
print("Wynik to 80")
klasa Matematyka(Przedmiot):
wynik def (własny):
print("Wynik to 75")
klasa Nauka (Przedmiot):
wynik def (własny):
print("Wynik to 85")
klasa Literatura (Przedmiot):
wynik def (własny):
print("Wynik to 70")
e= angielski()
e.wynik()
m = Matematyka()
m.wynik()
s = nauka()
s.score()
l = literatura()
l.wynik()
Wyjście:
Wynik to 80
Wynik to 75
Wynik to 85
Wynik to 70
Przyjrzyjmy się implementacji powyższego kodu.
Zaimportowaliśmy moduł ABC, aby utworzyć abstrakcyjną klasę bazową. Klasa Subject dziedziczy klasę ABC i zdefiniowana jest metoda abstrakcyjna „score()” .Następnie odziedziczyliśmy klasę bazową z różnych podklas i w unikalny sposób zaimplementowaliśmy metodę abstrakcyjną. Obiekty (tutaj nazwy podmiotów) są tworzone w celu wywołania metody abstrakcyjnej. Wreszcie, wynik każdego przedmiotu jest dostarczany jako wynik.
Sprawdź naszebezpłatne kursy nauki o danych, aby uzyskać przewagę nad konkurencją.
Abstrakcja w Pythonie Przykład: aplikacje w świecie rzeczywistym
1. Skrobanie sieci
Jednym z najlepszych rzeczywistych zastosowań Pythona jest web scraping. Wskazuje to na zbieranie ogromnych ilości danych przez firmy w celu uzyskania informacji o klientach i podejmowania opłacalnych decyzji. Koncepcja abstrakcji wyświetla tylko wymagane informacje, a tym samym pomaga firmom w łatwym dostępie do danych klientów. Ponadto narzędzia takie jak Selenium, PythonRequest i MechanicalSoup są używane w programowaniu w Pythonie do tworzenia aplikacji do skrobania stron internetowych.
2. Uczenie maszynowe i sztuczna inteligencja
Możemy rozważyćprzykład abstrakcji w Pythonie w domenie uczenia maszynowego i sztucznej inteligencji.Łatwość kodowania i łatwość zrozumienia koncepcji abstrakcji pomaga Pythonowi obsługiwać złożone obliczenia wymagane do tworzenia modeli uczenia maszynowego. Biblioteki języka Python, takie jak Pandas, Keras, NumPy i inne, są pomocne w aplikacjach uczenia maszynowego. Co więcej, koncepcja abstrakcji Pythona jest wykorzystywana w różnych rozwiązaniach AI, takich jak rozpoznawanie obrazów, zaawansowane obliczenia, przetwarzanie danych itp.
Najważniejsze umiejętności związane z nauką o danych do nauczenia
Najważniejsze umiejętności związane z nauką o danych do nauczenia | ||
1 | Kurs analizy danych | Kursy statystyki wnioskowania |
2 | Programy do testowania hipotez | Kursy regresji logistycznej |
3 | Kursy regresji liniowej | Algebra liniowa do analizy |
3. GUI na pulpicie
Python jest otwartym, łatwym do nauczenia się, niezależnym od platformy i stabilnym językiem programowania. Te aspekty sprawiają, że Python nadaje się do tworzenia GUI dla komputerów stacjonarnych. Narzędzia takie jak PyGUI, PyQt i WxPython są szeroko stosowane do wydajnego tworzenia wysokiej jakości GUI.
Przeczytaj nasze popularne artykuły dotyczące nauki o danych
Ścieżka kariery w nauce o danych: kompleksowy przewodnik po karierze | Rozwój kariery w Data Science: Przyszłość pracy jest tutaj | Dlaczego nauka o danych jest ważna? 8 sposobów, w jakie analiza danych wnosi wartość do biznesu |
Znaczenie nauki o danych dla menedżerów | Najlepsza ściągawka do analizy danych, którą powinien mieć każdy analityk danych | 6 najważniejszych powodów, dla których warto zostać naukowcem danych |
Dzień z życia Data Scientist: Co oni robią? | Obalony mit: analiza danych nie wymaga kodowania | Business Intelligence vs Data Science: jakie są różnice? |
4. Gotowanie
Jeśli chcesz podgrzać posiłek w kuchence mikrofalowej, możesz nacisnąć określone przyciski, aby ustawić minutnik i inne funkcje. W rezultacie otrzymujesz ciepły i smaczny posiłek. Wewnętrzne działanie i szczegóły kuchenki mikrofalowej są przed tobą ukryte. Dostęp do funkcji zewnętrznych można uzyskać tylko w celu dostosowania czasu i procesu gotowania.
Na wynos
Abstrakcjaw Pythonie upraszcza proces radzenia sobie ze złożonością, rozkładając ją na mniejsze części.Możesz używać mniejszych części w programach lub projektach bez zrozumienia ich działania. Ta koncepcja pomaga programistom ograniczać złożone procesy, zwiększając wydajność ich pracy.
Osiągnij szczyt sukcesu w swojej karierze związanej z nauką o danych, biorąc udział w kursie Python Programming Bootcamp firmy upGrad . Program ułatwia immersyjne sesje prowadzone przez ekspertów branżowych, którzy wykorzystują najnowsze narzędzia i technologie, aby dokładnie pomóc początkującym w kodowaniu.
Dzięki przekazywaniu wymagających umiejętności, takich jak programowanie baz danych w SQL, budowanie logiki do programowania, ważne składnie Pythona i programowanie baz danych w Pythonie przy użyciu bibliotek Pandas i NumPy, kurs pomaga opanować wszystkie aspekty programowania w Pythonie. Oprócz najnowocześniejszego programu nauczania upGrad zapewnia kilka dodatkowych korzyści, takich jak interaktywne zajęcia na żywo, sesje wyjaśniające wątpliwości, mentoring wiodących ekspertów branżowych, całodobowe wsparcie dla studentów i wiele więcej!
P. Jaka jest różnica między abstrakcją a enkapsulacją w Pythonie?
Abstrakcja w Pythonie służy do ukrywania wewnętrznych szczegółów i wyświetlania tylko funkcjonalności. Proces nadaje nazwy rzeczom, aby upewnić się, że nazwa oddaje podstawową koncepcję tego, co robi funkcja lub cały program. Z drugiej strony enkapsulacja ogranicza dostęp do zmiennych i metod. Łączy dane i programy w jedną całość, aby uniknąć ich przypadkowej zmiany.
P. W jaki sposób abstrakcja w Pythonie pomaga w tworzeniu kodu wielokrotnego użytku?
W Pythonie proces abstrakcji ukrywa przed użytkownikiem szczegóły implementacji. Jego zdolność do ukrywania szczegółów, w jaki sposób funkcja programu sprawia, że Twój kod jest bardziej użyteczny. Oznacza to, że możesz używać tego samego kodu w bardziej ogólny sposób w różnych sytuacjach, nie martwiąc się o to, jak działa pod tą samą maską. Co więcej, abstrakcja w Pythonie sprawia, że kod jest łatwiejszy do odczytania i zrozumienia.
P. Jakie metody są obsługiwane w klasach abstrakcyjnych w Pythonie?
Klasy abstrakcyjne w Pythonie mogą obsługiwać zarówno abstrakcyjne, jak i konkretne metody w Pythonie. Metody abstrakcyjne powinny być zaimplementowane w klasach pochodnych. Konkretne metody są implementowane w klasie bazowej.