Jeśli jesteś nie-programistą, Python może być twoim punktem wyjścia, ponieważ jest na szczycie listy najlepszych języków programowania 2021 i jest również najłatwiejszy do nauki. Jeśli znasz jakiekolwiek inne języki programowania, nauka Pythona będzie dla ciebie bryzą. Z wyjątkiem różnic w składni, podstawowe koncepcje OOP pozostają takie same. Ponadto Python ma obszerne biblioteki, które obsługują prawie wszystko, co chcesz zrobić.
Python jest
- czytelny i łatwy do zrozumienia moduły wsparcia i zachęca do ponownego użycia kodu.
- Język międzyplatformowy – kod raz, uruchom wszędzie (Windows, Linux, Unix, Mac, itd…)
- Język interpretowany – interpreter wykonuje każdą linię kodu po kolei, co ułatwia debugowanie.
- Open-source, więc możesz łatwo ćwiczyć kiedy tylko chcesz
Ponadto, Python posiada doskonały zestaw standardowych bibliotek
- , które pozwalają na integrację z innymi językami jak Java, C, C++.
- obsługuje programowanie zorientowane obiektowo
Mając to na uwadze, przejdźmy przez tematy, których musisz się nauczyć, aby opanować Pythona, zaczynając od podstaw do tematów zaawansowanych. Pod koniec tego artykułu, będziesz wiedział wystarczająco dużo Python, aby rozpocząć kodowanie, odpowiedzieć na pytania wywiadu i uzyskać doskonałą pracę dla siebie.
Możesz zainstalować Pythona z jego oficjalnej strony.
Najlepszy sposób na rozpoczęcie nauki Pythona
Najlepszym sposobem na naukę Pythona jest wdrożenie tego, co przeczytasz. Po prostu otwórz laptopa, zainstaluj Pythona i zacznij kodować. Możesz się uczyć jak leci!
Ale zanim to zrobisz, oto kilka wskazówek, które Ci to ułatwią –
- Jeśli nie jesteś programistą, miej trochę dodatkowej cierpliwości. Na pewno Ci się to uda. Python jest najłatwiejszym sposobem, aby dostać się do programowania.
- Pomyśl o swojej małej aplikacji i zrób swoją naukę wokół niej. Najlepiej zbuduj prostą stronę internetową przy użyciu Django. Na przykład przeglądanie listy telefonów i kupowanie jednego z nich, kupowanie cotygodniowych zakupów spożywczych online, zarządzanie danymi pracowników i wiele innych. Jeśli po prostu czytasz i nie próbujesz tego, co czytasz, nie będziesz w stanie uchwycić ani zapamiętać pojęć.
- Jeśli dostaniesz błąd, to znaczy, że idziesz w dobrym kierunku. Jeśli popełnisz wiele błędów, to świetnie. Każdy błąd powinien sprawić, że będziesz podekscytowany i chętny do znalezienia rozwiązania. Najlepsza nauka odbywa się poprzez błędy i wyjątki.
- Weź renomowany kurs online, aby rozpocząć swoją podróż po Pythonie. Od zera do bohatera w Pythonie jest jednym z najlepszych kursów w Internecie, aby rozpocząć naukę Pythona.
- Ucz się składni po drodze. Nie poświęcaj zbyt wiele czasu na naukę samej składni. Miej projekt skonfigurowany z IDE takim jak PyCharm, zacznij kodować. Poznasz składnię, gdy będziesz pisał więcej kodu.
- Zacznij od prostego projektu i zwiększaj jego funkcjonalność w miarę kodowania. Włączaj bardziej złożone koncepcje, w miarę jak będziesz mógł rozwijać kod.
Okay, bez żadnych więcej teorii, zacznijmy.
Możesz chcieć pominąć kilka pierwszych podtematów, jeśli znasz już jeden lub dwa inne języki. Te powitają cię w świecie programowania, zapoznając cię z powszechnymi żargonami używanymi w większości języków.
Zmienne i typy danych
Załóżmy, że chcesz kupić telefon. Przeglądasz wiele telefonów i dodajesz jeden do koszyka. Skąd komputer wie, gdzie przechowywać dane, takie jak model telefonu, plan taryfowy, który wybrałeś, i wszelkie akcesoria, na przykład słuchawki, które dodałeś?
Dane są przechowywane w postaci zmiennych. Pomaga to aplikacji zachować i przekazać dane od początku do końca aplikacji (na przykład strona z zamówieniem), gdzie kończy się Twoje zamówienie.
Istnieją różne typy danych. Na przykład, twój numer telefonu będzie liczbą całkowitą; plan usług może być String, zmienna określająca czy masz jakieś kupony może być Boolean, i tak dalej. Integer, Boolean, String (i kilka innych) są nazywane jako typy danych.
Sprawdźmy prosty przykład –
handset_id = 90993plan = "MYPLAN199"print(handset_id, plan)
Możemy używać tych zmiennych handset_id i plan w całej aplikacji zamiast używać wartości zakodowanych na sztywno.
Operacje
Wszystko, co robimy na danych, nazywamy procesem. Dodawanie, odejmowanie, porównywanie lub operacje logiczne. Na przykład, aby porównać nowy plan mobilny użytkownika i istniejący plan, możemy napisać coś w stylu –
print(new_plan == old_plan)
Podwójne equals jest operatorem porównania, który zwraca prawdę lub fałsz jako wynik. Istnieje wiele operatorów w Pythonie.
Warunki
Powiedzmy, że zniżka jest stosowana do twojego planu w oparciu o pewne choroby, takie jak miesięczne zużycie, wybór słuchawki i kilka innych czynników. Jak aplikacja automatycznie sprawdzić, czy jesteś uprawniony do zniżki? Sprawdzając, czy te warunki są spełnione!
if(plan == 'DISCOUNT30' and customer_existing):print('You are eligible for discount')else if(some_condition):#some block of codeelse#some other block of code
W Pythonie istnieje wiele innych warunków, takich jak pętle while i for. Przeczytaj ten doskonały blog, aby dowiedzieć się o stwierdzeniach warunkowych w Pythonie.
Funkcje
Czasami istnieją pewne funkcjonalności, które możemy chcieć ponownie wykorzystać, lub fragment kodu może być tak duży, że dobrym pomysłem może być przeniesienie go do osobnego bloku i wywoływanie go w razie potrzeby. Takie bloki nazywane są funkcjami. Na przykład, nasz powyższy kod może być przeniesiony do pliku użytkowego, a każdy może użyć tej funkcji.
def check_for_discount(customer_existing):#function code
def definiuje funkcję. Kiedy wywołujemy funkcję, przekazujemy jej wartość customer_existing (w tym przypadku). Nazywa się to parametrem. Do funkcji możemy przekazywać dowolne parametry.
Programowanie zorientowane obiektowo
Większość najlepszych obecnie języków programowania opiera się na OOPS (object-oriented programming concepts), podobnie jest w Pythonie. Jest to prosta koncepcja i potężna. W OOP wszystko jest traktowane jako obiekt. Klasa jest jednostką, z której tworzymy obiekty w zależności od potrzeb.
Zobacz to fajne wideo, aby dowiedzieć się o koncepcjach OOPS.
W naszym przykładzie słuchawki, słuchawka może być klasą, a wszystkie szczegóły słuchawki, takie jak model, marka, typ, cechy mogą być jej atrybutami. Kiedykolwiek użytkownik wybierze słuchawkę, zostanie utworzony obiekt klasy Handset, a szczegóły zostaną wypełnione w jego atrybutach (zmiennych członkowskich).
Możesz rozważyć istotę ludzką jako klasę – Human. Twoimi atrybutami mogą być imię, wiek, płeć i tak dalej. Możesz znaleźć siebie jako obiekt klasy Human z określonymi wartościami, takimi jak imię = 'Mac,’ wiek = ’22’, płeć = 'M.’
Każda klasa ma atrybuty i metody, aby uzyskać i ustawić te atrybuty. Klasa będzie miała również konstruktor lub metodę init, która stworzy obiekt klasy, gdy tylko będzie to potrzebne.
class Human:def ___init__(self, name, age, gender):self.name = nameself.age = ageself.gender = gender
Próbuj zastosować tę analogię do naszej klasy słuchawki.
class Handset:def ___init__(self, handset_id, model, manufacture_date, features):self. handset_id = handset_idself. model = modelself. manufacture_date = manufacture_dateself.features = featuresdef printhandsetdetails():print(self.handset_id, self.model)
Teraz, powiedzmy, że użytkownik dodał konkretną słuchawkę do swojego koszyka. Szczegóły mogą być przechowywane jako –
handsetDetails = Handset("NOKN96", "2009", "23-05-2009", "slim")
Założywszy, że chcemy wydrukować te szczegóły, możemy dodać metodę wewnątrz klasy, aby to zrobić i wywołać ją jako handsetDetails.printhandsetdetails()
Struktury danych
Pojęcie struktury danych jest wspólne dla wszystkich języków programowania. W Pythonie określamy je jako kolekcje. Istnieją różne rodzaje grup w Pythonie, które sprawiają, że przechowywanie i pobieranie danych to bułka z masłem. Sprawiają one również, że program jest szybki i wydajny. Cztery główne typy kolekcji to –
- List – najprostsza ze wszystkich struktur danych, lista jest uporządkowaną kolekcją, która jest również zmienna. Na przykład,
featurelist =
Aby uzyskać dostęp do elementów listy, odwołujemy się do nich używając indeksu, a indeks zawsze zaczyna się od 0. featurelist da ci frontcamerę.
- Tuple – jest również uporządkowana, ale nie jest zmienna. Nie można dodawać ani usuwać elementów w tuple.
- Set – nieuporządkowana i nieindeksowana kolekcja. Nie można uzyskać dostępu do elementów zestawu za pomocą indeksu; można jednak zapętlić elementy lub przeskanować je, aby sprawdzić, czy dany element jest obecny.
- Słowniki – nazywane również mapami, są one dostępne za pośrednictwem par klucz-wartość. Są one nieuporządkowane. Na przykład,
handsetdetails = { "name": "Nokia6.1", "color": "Black", "RAM": "6GB"}
Aby uzyskać wartość, powinniśmy uzyskać dostęp przy użyciu klucza handsetdetails.
Ten darmowy kurs udacity jest dobry dla Ciebie, aby mieć szczegółową wiedzę na temat struktur danych i algorytmów Pythona. Jeśli się na niego zdecydujesz, będziesz mógł później używać struktur danych w dowolnym języku programowania.
Nauczenie się struktur danych pomoże Ci bawić się danymi w Pythonie i z łatwością budować aplikacje na dużą skalę. Pomoże Ci również opanować efektywne pisanie, wydajny kod i dynamiczne programowanie.
Wejścia użytkownika
Odbieranie danych wejściowych od użytkownika jest dość proste. Wystarczy użyć metody input(), aby uzyskać dane wejściowe z konsoli.
name = input('Enter handset name - ')
Na podstawie otrzymanej nazwy można pobrać szczegóły dotyczące słuchawki i wyświetlić je użytkownikowi. Dane mogą być pobierane z pliku lub bazy danych za pomocą połączenia.
Połączenie z bazą danych
Aby połączyć się z bazą danych, powinieneś zainstalować MySQL connector Python (dla MySQL) lub sterownik MongoDB jak PyMongo. Jeśli jesteś początkujący, wybierz MySQL, ponieważ jest to najbardziej powszechne i przydatne do nauki.
Ten prosty samouczek przeprowadzi cię przez kroki, aby połączyć się z bazą danych i pobrać niezbędne szczegóły.
Obsługa plików
Obsługa plików jest istotną częścią każdej aplikacji. Twoja aplikacja może chcieć czytać z pliku, pisać do pliku i tak dalej. Implementacja obsługi plików w Pythonie jest łatwa. W Pythonie istnieją dwa typy danych – binarne i tekstowe. Istnieją cztery rodzaje operacji na plikach, które nazywamy CRUD – Create, Read, Update, Delete. Na przykład, możemy otworzyć plik jako –
file = open("handsetlist.txt", "w");
#to otworzy plik w trybie 'w,’ tj. w trybie zapisu
Jeśli damy 'r,’ plik otworzy się w trybie odczytu, aby dodać nowy wiersz, używamy 'a’ (append). Tryb 'r+’ jest specjalnym trybem, który obsługuje zarówno akcje odczytu jak i zapisu podczas pracy z plikiem.
Aby odczytać plik, używamy metody file. read (), a żeby napisać, tak, dobrze zgadłeś! Używamy file.write(„dane do zapisania”).
Poznaj i baw się więcej funkcjami obsługi plików z tego chrupiącego i prostego linku.
Więc teraz, możesz tworzyć indywidualne programy, samodzielne aplikacje, które dają doskonałe rezultaty. Ale, jak o scenariuszu, w którym Twoja aplikacja może być dostępna dla wielu osób w tym samym czasie. Na przykład, drukarka, która jest dostępna dla różnych użytkowników, jak drukarka obsługuje wiele zadań bez impasu?
Współbieżność i wielowątkowość
Mogą być sytuacje takie jak powyżej. Dwa lub więcej procesów oczekuje na ten sam zasób. Powiedzmy, że proces A próbuje uzyskać dostęp do zasobu R. Teraz; proces B również próbuje uzyskać dostęp do zasobu R. Aby uniknąć problemów związanych z nadpisywaniem przez B danych A, procesy będą zsynchronizowane, gdzie-w każdym procesie (B, C, D, itd…) jest zablokowany, dopóki poprzedni wątek/proces A nie zakończy korzystania z zasobu R. Nazywa się to wzajemnym wykluczaniem.
To znaczy, że proces A blokuje zasób do czasu, gdy używa zasobu, i zwalnia go, gdy jest skończony. Inne procesy muszą czekać na swoją kolej posiadania blokady. Ale co jeśli proces A napotka problem i nie będzie w stanie dokończyć swojej pracy? Co jeśli proces A potrzebuje czegoś od procesu B do ukończenia, a B czeka, aż proces A ukończy pracę. Jest to tzw. martwy punkt! Martwy punkt jest śmiertelnie niebezpieczny i nie chciałbyś go mieć w swoim programie.
W środowisku pracy niezbędna jest wiedza o wielowątkowości, wieloprocesowości i blokadach.
Tworzenie usług API
Zróbmy teraz większy obraz – świata WWW, gdzie programy i aplikacje współdziałają ze sobą, współdzielą zasoby i, co najważniejsze, przekazują sobie nawzajem żądania za pomocą protokołu HTTP. Każda aplikacja, która może komunikować się z inną, nazywana jest mikroserwisem. Oznacza to, że jeśli chcesz, aby Twoja aplikacja wchodziła w interakcję ze światem, powinieneś wiedzieć, jak wyeksponować swoje usługi – tworząc API! Możesz szybko wygenerować usługi API używając biblioteki Pythona – Flask. Obejrzyj tę serię filmów, aby poznać know-how.
Tworzenie aplikacji internetowej
Możesz teraz stworzyć swoją aplikację internetową używając Pythona. Ten darmowy samouczek daje Ci dobry sposób krok po kroku, aby zbudować projekt przy użyciu Django i Pythona. Zapisz się na ten kurs i dowiedz się więcej o Django. Django jest full-stack web framework, z którym można stworzyć end-to-end aplikacji internetowej w Pythonie. Wykorzystuje architekturę MVC (Model-View-Controller) i ORM (Object-Relational-Mapping) dla dostępu do danych. W Pythonie istnieją biblioteki, które w pełni wspierają ORM i budowanie bezpieczeństwa aplikacji internetowych.
Słowo końcowe
To wszystko, czego potrzeba, aby zostać profesjonalistą w Pythonie. Zaczęliśmy od podstawowej zmiennej, a skończyliśmy na stworzeniu pełnoprawnej aplikacji internetowej. Jeśli uważasz, że jesteś gotowy, aby wyjść i pojawić się na rozmowy kwalifikacyjne, przeczytaj nasze pytania wywiadu Python. Również, Ten kompleksowy blog da ci doskonały pomysł na to, jakie książki potrzebujesz jako początkujący lub zaawansowany programista Pythona.
I, co najważniejsze, sprawdź niektóre z tych najlepszych samouczków Pythona i iść dalej, zapisać się na niektóre. Istnieją darmowe i płatne tutoriale zarówno, więc możesz wybrać te, które chcesz zarejestrować.
People are also reading:
- Najlepsze kursy Pythona
- Najlepsze certyfikacje Pythona
- Najlepsze projekty Pythona
- Najlepsze IDE Pythona
- Najlepsze Python. Frameworks
- Best Python Compilers
- Best Python Interpreters
- Python Programming languages
- How to Run a Python Script?
- NumPy Mnożenie macierzy
.