Python — mapa drogowa do 2023 r., aby wszystko opanować
Python może zrobić wszystko. Wszystkie, w tym analiza danych, uczenie maszynowe, uczenie głębokie, NLP, przetwarzanie obrazu/wideo zarówno do wykrywania, jak i segmentacji, gry, Android, aplikacje internetowe, graficzny interfejs użytkownika na komputery stacjonarne, po prostu nazwij to.
Rzecz w tym, że jeśli chcesz się wszystkiego nauczyć, może to być nieco przytłaczające. Pod koniec tego artykułu zobaczysz, jak opanować wszystkie te tematy.
Mapa drogowa Pythona 2023:
Ta mapa myśli podsumowuje wszystkie biblioteki (i podstawowe koncepcje Pythona), których możesz się nauczyć, aby wszystko opanować. To nie jest bardzo długi bieg. Powinieneś być w stanie opanować wszystkie te tematy w krótszym czasie, niż myślisz, ponieważ python zajmuje się większością kodu za ciebie, dzięki OGROMNEJ obsłudze bibliotek.
1. Zacznijmy od podstaw Pythona:
- Dowiedz się wszystkiego o zmiennych i manipulowaniu łańcuchami znaków. Jest to niezbędne w przypadku każdego tematu, który pojawi się później.
- Instrukcje warunkowe i sposób podejmowania decyzji programowych
- Loops i skup się na zaawansowanych składniach pętli for, takich jak zip i enumerate. Są one niezwykle przydatne, jeśli chcesz kodować w sposób „Pythonic”.
- MUSISZ opanować struktury danych, takie jak Listy i Słowniki, mniej ważnymi strukturami byłyby Krotki i Zestawy
- Dowiedz się wszystkiego o funkcjach i sposobach zwracania z nich wartości. Upewnij się, że rozumiesz zakresy danych i zmienne globalne
- Naucz się zaawansowanych wbudowanych funkcji, takich jak rozumienie list, mapy i funkcje lambda
- Wyjątki są niezbędne do napisania kodu, który jest w miarę możliwości wolny od awarii
- Zarządzanie katalogami, które służy do tworzenia drzew katalogów dla plików projektu. Jest to bardzo przydatne do automatyzacji zadań, nawigacji po plikach itp. Poczytaj o tym.
W świecie nowoczesnego oprogramowania nie można ignorować znaczenia łatwego w utrzymaniu i łatwego do rozszerzenia kodu.
Oto, co musisz wiedzieć:
- Klasy i jak tworzyć metody klasowe , zmienne klasowe i inicjator klasy
- Obiekt , który jest niczym innym jak klasą w grze
- Dziedzictwo
- Super słowo kluczowe
- Wielopostaciowość
- Kapsułkowanie
- Jeśli naprawdę chcesz pójść o krok dalej, sprawdź Wzorce projektowe
- Ten nie jest tak naprawdę związany z OOP, ale Dekoratory , które są technikami specyficznymi dla Pythona, mogą być bardzo pomocne podczas pracy z wieloma zewnętrznymi bibliotekami, takimi jak Unittest. Który jest bardzo popularny do testowania oprogramowania.
Następujące formaty plików są niezbędne do pracy. A Python to najlepszy język programowania do edytowania, tworzenia skryptów i automatyzacji wszystkiego, co jest związane z tymi formatami plików.
- .tekst
- .csv
- .json
- .zamek błyskawiczny
Konieczne jest, aby obliczenia matematyczne były szybkie, a python, rodzaj, ma reputację powolnego w porównaniu z C/C++.
Cóż, nie jest to do końca prawdą. W Pythonie używamy biblioteki o nazwie Numpy do wykonywania prawie każdej złożonej operacji matematycznej. Czy to mnożenie macierzy, czy to przeszukiwanie tablicy w poszukiwaniu elementu, czy znajdowanie elementów Max/Min.
Biblioteka jest ogromna, ale oto kilka najważniejszych informacji na temat tego, czego musisz się nauczyć, aby zacząć:
- Pojedyncze tablice
- Wielowymiarowe tablice
- numpy Funkcje wyszukiwania
- numpy funkcje maks./min
- numpy funkcje sortowania
- konwersja string_to_array i odwrotnie
- Rozdzielać
- Randomizowane tablice
- Przekształcanie tablic
- Odwracanie tablicy
- Techniki mnożenia tablic
Pandas to biblioteka, którą można zabrać do obsługi dowolnych danych tabelarycznych (takich jak pliki programu Excel, csv..etc).
Wyobraź sobie, że możesz zautomatyzować wszystko, co może zrobić program Excel, i dodać to do ogromnego, ogromnego świata Pythona… cóż, dokładnie o to chodzi w tej bibliotece. Oto kilka najważniejszych informacji o tym, od czego należy zacząć:
- Pandas Dataframes
- Odczyt plików csv
- Filtry danych
- Manipulacja kolumnami
- Manipulacja rzędami
- Zmienianie nazw elementów
- Seria
- Funkcje kreślenia wewnętrznego
- Generowanie plików CSV
Stwierdzenie, że Python może replikować wszystkie aplikacje do zdjęć/wideo, które widzisz, jest szalonym stwierdzeniem. Ponieważ Python w połączeniu z OpenCV to gigantyczny potwór, jeśli chodzi o manipulację plikami multimedialnymi.
Oto kilka najważniejszych informacji na temat tego, od czego należy zacząć:
- Zrozumienie przestrzeni kolorów (RGB, HSV, LAB)
- Odczytywanie/zapisywanie obrazów
- Wyświetl obrazy
- Binaryzacja obrazów
- Techniki progowe
- Manipulacja obrazem (obracanie, skalowanie…)
- Konwersja tablicy na obraz i odwrotnie
- Dylatacja i erozja
- Wykrywanie konturów
- Rysunek konturowy
- Przybliżenie kształtu
- Obliczanie powierzchni konturu
- Maskowanie
Jedyne, co mogę tutaj dodać, to śledzenie obiektów, spójrz na to.
7. Interfejsy użytkownika Pythona (UI):
Jak pozbyć się tego „widoku kodu” i zamiast tego użyć niektórych interaktywnych interfejsów. Czy to nie jest cecha wspólna wszystkich programów?
Python ma wiele form interfejsu użytkownika.
- Interfejs wiersza poleceń, jak sama nazwa wskazuje, opiera się na oknie wiersza poleceń, w którym wpisujesz instrukcje, które wykona skrypt Pythona.
Możesz do tego użyć biblioteki Argparse - GUI na pulpicie lub graficzne interfejsy użytkownika. To sprawiłoby, że Twoje oprogramowanie wyglądałoby jak każde inne oprogramowanie, które pobierasz i instalujesz, z interaktywnym przyciskiem, polami tekstowymi, listami rozwijanymi i menu.
Możesz użyć PySimpleGUI lub Tkintera. - Spowoduje to utworzenie interfejsu użytkownika w Twojej przeglądarce. Zaletą tego typu interfejsu użytkownika jest to, że możesz później po prostu wdrożyć swój projekt w Internecie wraz z tym interfejsem. Tej przewagi nie można znaleźć w Argparse ani Tkinter
Posiadanie danych, czy to wewnętrznych danych Pythona, czy zewnętrznych danych tabelarycznych, wymaga pewnej wizualizacji, prawda?
Najważniejsze dwie biblioteki to:
- Matplotlib
- Urodzony w morzu
- Histogramy
- Wykres punktowy
- Formacja historii
- Pary działek
- Kolorowanie danych
- Wiele działek
- Działki na żywo
Teraz, gdy nauczyłeś się trochę kodowania w Pythonie, zdasz sobie sprawę, że wykonywanie jednej instrukcji naraz nie jest praktyczne w większości dużych aplikacji. Czasami chciałbyś, aby Twój GUI działał niezależnie od innych funkcji Pythona.
I tu pojawia się wielowątkowość.
- Rozpoczynanie wątku
- Dołączyć
- Pula wątków
- Semafory
10. Automatyzacja zadań w Pythonie
Automatyzacja „nudnych zadań”, takich jak pliki Excela, formularze internetowe i rejestrowanie GUI, może być łatwo zautomatyzowana za pomocą Pythona. Możesz nawet tworzyć skrypty Pythona, aby grać w swoją ulubioną grę na Androida/OS i zbierać dla siebie wszystkie codzienne nagrody!
Najbardziej znane są z tego następujące biblioteki:
- Selen
- pyautogui
- OpenCV może okazać się bardzo przydatne po zintegrowaniu z wyżej wymienionymi
- Strona internetowa XPATH Ekstrakcja do interakcji za pomocą selenu
- wypełnianie pól tekstowych
- klikanie
- znalezienie elementu przez xpath lub przy użyciu obrazu szablonu
- obsługa rozwijanych menu
- Obsługa przesyłania plików
- dopasowanie szablonu uczenia się w OpenCV
Uczenie nadzorowane, uczenie nienadzorowane, uczenie ze wzmocnieniem, wszystkich tych ekscytujących tematów można się nauczyć, programując je za pomocą Pythona. Ponieważ programowanie za pomocą aplikacji zwiększy szybkość uczenia się x10 razy, rozważ natychmiastowe nauczenie się algorytmu i zabawę w pythonie.
Dwie najbardziej znane biblioteki do nauki o danych i uczenia maszynowego to:
- ostry
- sklearn , który jest zbudowany na scipy
- Uczenie nadzorowane:
a. Naiwny Bayes
b. regresja liniowa
c. SVM - Uczenie się bez nadzoru:
a. K-środki skupienia
b. PCA
c. LDA
d. t-SNE - Uczenie się przez wzmacnianie:
a. Q-learning
b. Nauka genetyczna
- Precyzja
- Matryca zamieszania
- Krzywe AUC/ROC
- Złożenie krzyżowe
Ten temat jest oparty na uczeniu maszynowym w języku Python i zasadniczo wykorzystuje sieci neuronowe. To jest teraz cała domena specjalizacji.
Musisz sprawdzić Tensor Flow, Keras i Pytorch.
Zacznij od Keras (zbudowanego na przepływie Tensor ), a następnie możesz przejść do Pytorch .
Ponieważ funkcje Keras są łatwiejsze w obsłudze niż Pytorch.
Oto pierwsze algorytmy, od których musisz zacząć
- Głębokie sztuczne sieci neuronowe (ANN). Idealny do zadań przewidywania regresji
- Convolutional Neural Networks (CNN) doskonale nadaje się do klasyfikacji obrazów
- Generatywne sieci kontradyktoryjne (GAN). Podstawa generowania danych Deep Fake i fake
- Funkcje strat i wsteczna propagacja
- Funkcje aktywacji
- Trening/testowanie dokładności/utrata
- Strojenie
13. Projektowanie stron internetowych w Pythonie:
Tak, faktycznie możesz zaprojektować backend dla swoich stron internetowych za pomocą Pythona. W rzeczywistości biblioteki takie jak Flask mogą być najbardziej przyjazne dla użytkownika na początek. Szczerze mówiąc, bardzo pomocna byłaby znajomość przynajmniej HTML/CSS, aby móc przetestować, co dzieje się w twoim Font-End (Front-end to wszystkie efektowne przyciski i menu, które widzisz na stronie).
Jeśli jednak nie masz nic przeciwko pisaniu super fikcyjnych stron przy użyciu wewnętrznych funkcji Flask, to bądź moim gościem i zacznij!
Oto, od czego musisz zacząć:
- Trasy
- Nawigacja
- Szablony
- Aktualizowanie elementów strony za pomocą Pythona
- Sesja
- Uwierzytelnianie
Zdecydowanie powinieneś sprawdzić ten kurs. Jest to jedyny kurs w Internecie, który otrzymuje cotygodniowe aktualizacje z nową sekcją. Ponieważ celem tutaj jest to, aby ten kurs zawierał wszystko, czego kiedykolwiek potrzebowałbyś w Pythonie. Nie musisz kupować 20 kursów, aby opanować Pythona.
Możesz poprosić instruktora o dodanie dowolnego tematu dotyczącego Pythona, a on doda go w ciągu tygodnia!! Żadnych dodatkowych kosztów!

![Czym w ogóle jest lista połączona? [Część 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































