Aktywne Wpisy
Historycznygagatek +193
Wiecie co jest najgorsze? Chęć niesienia dobra w tym parszywym życiu i wielka, twarda pięść obcych ludzi na mojej gębie.
Ponad miesiąc temu ogłosiłam DARMOWĄ wycieczkę ze mną jako przewodnikiem górskim. Wytyczyłam autorską trasę, wyszukałam sponsora, który przygotował dla każdego uczestnika upominek w ramach propagowania czystości na szlakach. Wszystko to jak krew w piach. Początkowo uczestników zgłosiło się ponad 15, liczyłam na fajną zabawę bo zgłosili się również dorośli z dziećmi. Uprzedzając pytania- wycieczka miała być darmowa bo celem była promocja regionu i historia miejsc zapomnianych w Górach Sowich.
Fajnie? NIC, K---A, BARDZIEJ MYLENGO. ¯\(ツ)/¯
Do
Ponad miesiąc temu ogłosiłam DARMOWĄ wycieczkę ze mną jako przewodnikiem górskim. Wytyczyłam autorską trasę, wyszukałam sponsora, który przygotował dla każdego uczestnika upominek w ramach propagowania czystości na szlakach. Wszystko to jak krew w piach. Początkowo uczestników zgłosiło się ponad 15, liczyłam na fajną zabawę bo zgłosili się również dorośli z dziećmi. Uprzedzając pytania- wycieczka miała być darmowa bo celem była promocja regionu i historia miejsc zapomnianych w Górach Sowich.
Fajnie? NIC, K---A, BARDZIEJ MYLENGO. ¯\(ツ)/¯
Do
Thiocomaster +43
██░███░░░░██░████████░██████░░░██████░░
██░████░░░██░░░░██░░░░██░░░██░██░░░░██░
██░██░██░░██░░░░██░░░░██████░░██░░░░██░
██░██░░██░██░░░░██░░░░██░░░██░██░░░░██░
██░██░░░████░░░░██░░░░██░░░██░░██████░░
To już (dopiero?) trzecia edycja tego wpisu:
Pierwsza eycja (ponad 7 lat temu) - https://www.wykop.pl/wpis/9876900/python-naukaprogramowania-programowanie-wstep-pod-/
Druga edycja (prawie 4 lata temu) - https://www.wykop.pl/wpis/30616039/wstep-to-jest-uaktualniona-wersja-wpisu-popelnione/
Intencja - Zebrać w jedno miejsce dobre rady i materiały do nauki pythona tak żeby łatwo było komuś je polecić lub sobie je przypomnieć
Jak ktoś ma ochotę jakoś mi podziękować za ten wpis to poza plusikiem można rzucić follow na https://www.twitch.tv/aseeon gdzie niedługo zacznę streamować trochę programowania w pythonie - for fun and giggles.
██████░░██░░░░██░████████░██░░░██░░██████░░███░░░░██░██░░░░██░
██░░░██░░██░░██░░░░░██░░░░██░░░██░██░░░░██░████░░░██░░██░░██░░
██████░░░░████░░░░░░██░░░░███████░██░░░░██░██░██░░██░░░████░░░
██░░░░░░░░░██░░░░░░░██░░░░██░░░██░██░░░░██░██░░██░██░░░░██░░░░
██░░░░░░░░░██░░░░░░░██░░░░██░░░██░░██████░░██░░░████░░░░██░░░░
Nie minęło ledwo 7 lat i w końcu można powiedzieć, że warto się uczyć i korzystać tylko z wersji 3 pythona. Najczęściej produkcyjnie używaną wersją jest 3.6. Do nauki proponuję używać najnowszej stabilnej wersji 3.X którą akurat znajdziecie na stronie python.org kiedy czytacie ten wpis.
Na ten moment to Python 3.10.1 wydany 6 Grudnia.
███░░░░██░░█████░░██░░░░██░██░░░██░░█████░░
████░░░██░██░░░██░██░░░░██░██░░██░░██░░░██░
██░██░░██░███████░██░░░░██░█████░░░███████░
██░░██░██░██░░░██░██░░░░██░██░░██░░██░░░██░
██░░░████░██░░░██░░██████░░██░░░██░██░░░██░
1. Uczcie się tylko z materiałów do Pythona 3 - zwłaszcza na początku drogi programistycznej
2. Łatwiej przyswaja się wiedzę jak nie robi się cały czas dokładnie tego samego. Pisanie własnych projektów warto przeplatać rozwiązywaniem zagadek, czytaniem książek czy też oglądaniem filmów instruktażowych.
3. Zanim się zapyta o rozwiązanie jakiegoś problemu trzeba koniecznie podejmować próby samodzielnego rozwiązania, wtedy się człowiek nauczy najwięcej. Nie mówiąc już o tym, że znacznie mądrzej się wtedy zadaje pytania.
4. Ćwiczenie języka angielskiego w celu (minimum) swobodnego uczenia się z anglojęzycznych materiałów jest najbardziej niedocenianym skillem przez ludzi którzy zaczynają się uczyć. A to, gdy raz opanowane, zaowocuje pozytywnie na całą waszą naukę i karierę. Naprawdę warto.
5*. Punkt z gwiazdką (dla chętnych) - w miarę możliwości raźniej jest realizować projekty w małych grupach, wymieniać się doświadczeniani. Duże grupy rozmywają poczucię obowiązku i jest takie "ktoś inny to zrobi", ale małe grupy programistyczne potrafią się fajnie wspierać i budować wiedzę. Masa redditów, discordów i grup facebookowych może przyjść z pomocą!
███░░░░███░░█████░░████████░███████░██████░░██░░█████░░░██░░░░░░██░░░░██░
████░░████░██░░░██░░░░██░░░░██░░░░░░██░░░██░██░██░░░██░░██░██░░░░██░░██░░
██░████░██░███████░░░░██░░░░█████░░░██████░░██░███████░░████░░░░░░████░░░
██░░██░░██░██░░░██░░░░██░░░░██░░░░░░██░░░██░██░██░░░██░███░░░░░░░░░██░░░░
██░░░░░░██░██░░░██░░░░██░░░░███████░██░░░██░██░██░░░██░░███████░░░░██░░░░
▓▓ Ta Pierwsza Książka - wybierzcie sobie jedną która wam pasuje.
W tym zestawieniu są 3 opcje do wyboru - Najlepsza ogółem, najlepsza dla doświadczonych i najlepsza dla super-początkujących
a) Python Crash Course - 2 Edycja autorstwa Erica Matthesa
Bardzo dobra pozycja ogólnego zastosowania. Mocno polecam! Pierwsza część książki to same podstawy pythona. Druga część to 3 praktyczne projekty, mini-gra, wizualizacja danych oraz aplikacja internetowa. Jest to trochę inne niż standardowe podejście do książek dla początkujących, gdzie zwykle unika się dodatkowych bibliotek. Myślę, że trudniej się tą książką znudzić i daje takiego praktycznego kopa do realizacji własnych projektów po jej zakończeniu.
https://www.amazon.pl/Python-Crash-Course-Hands-Project-Based/dp/1593279280/
b) Python Distilled - David M. Beazley
Najlepsza opcja dla ludzi którzy programują już w jakimś innym języku i chcą się douczyć pythona. Jeden z najbardziej utalentowanych programistów i wykładowców pythona zamknął w tej (ogromnej) książce niesamowite pokłady wiedzy. Książka zawiera całą podstawę języka od A do Z.
https://www.amazon.pl/Python-Essential-Reference-Beazley-David/dp/0134173279
c) Automate the boring stuff with Python - 2 Edycja autorstwa Ala Sweigerta
A tutaj najlepsza alternatywa jak z komputerem do tej pory mieliśmy tyle wspólnego co odpalenie worda. Kod w książce bywa mocno nie-pythonowy, ale to jest do nadrobienia drugą książką. Przy cenie wachającej się od 0 cebulionów (gdy czytamy online) to solidna pozycja dla super-początkujących.
https://www.amazon.pl/Automate-Boring-Stuff-Python-2nd/dp/1593279922/
Za darmo do czytania online na https://automatetheboringstuff.com/
▓▓ Ta Druga Książka - wybierz jedną
Jak już ogarniamy podstawy pythona i radzimy sobie z naklepaniem apki która "po prostu działa", wtedy nadchodzi czas żeby nauczyć się pisać idiomatycznie, to jest pisać w pythonie po pythonowemu.
a) Effective Python 2 edycja - Brett Slatkin
Wtedy wchodzi ta książka, cała na biało, z dużym ładunkiem wiedzy i praktycznych przykładów. Napisana relatywnie lekkim językiem i bardzo sensownie ułożona.
https://www.amazon.pl/Effective-Python-Specific-Write-Better/dp/0134853989
b) Pythonic Programming - Dmitry Zinoviev
Książka mam wrażenie, że jest gorzej zorganizowana niż pierwsza opcja, ale zawiera masę dobrych rad, jest na bierząco i wydaje się godna polecenia jak komuś nie pasuje pierwsza opcja.
https://www.amazon.pl/Pythonic-Programming-Becoming-Idiomatic-Programmer/dp/168050861X
▓▓ Kolejne książki - kolejność jest realtywnie dowolna, zależnie co nas najbardziej zainteresuje w danej chwili
1) Serious Python - Julien Danjou
Książka zgodnie z nazwą wchodzi w wiele poważnych tematów - dobre praktyki dokumentacji, organizacji modułów, bibliotek, frameworków, dystrybucja softu, programowanie funkcyjne, unit testing, performence, skalowanie i inne. Bardzo mądry gość ją napisał!
https://www.amazon.pl/Serious-Python-Black-Belt-Deployment-Scalability/dp/1593278780
2) Fluent Python 2 edycja (jest zapowiedziana na 1 kwietnia 2022) - Luciano Ramalho
Książka gdzie czytamy o czymś co zdawało nam się, że już doskonale znamy, ale jednak okazuje się, że skrywa w sobie jeszcze trochę ciekawych tajemnic. Jest to jedna z najlepszych książek programistycznych jakie kiedykolwiek czytałem. Doskonała pozycja.
https://www.amazon.pl/Fluent-Python-Concise-Effective-Programming/dp/1492056359
3) Object-Oriented Python - (ekstremalnie świeża książka, jeszcze jej całej nie przeszedłem) - Irv Kalb
Kapitalnie zapowiadająca się pozycja skupiająca się na programowaniu obiektowym. A do przedstawiania przykładów używa programowania gier i programów okienkowych. Moim zdaniem - warto!
https://nostarch.com/object-oriented-python
https://www.amazon.pl/Object-Oriented-Python-Master-Building-Games/dp/1718502060
▓▓ Video i Kursy
W tej edycji mam do polecenia 3 darmowe kursy/kanały i 2 płatne (wspierające wiedzą)
a) CS50's Introduction to Programming with Python
Wersja kursu opartego o słynne harvardowe CS50 oparta na Pythonie. Świetny wstęp który można uzupełnić filmami na YT (wpisz CS50)
https://www.edx.org/course/cs50s-introduction-to-programming-with-python
b) Kanał YT ArjanCodes
Polecam cały kanał, gość porusza cały szereg różnych tematów - nawet takie super dogłębne i zaawansowane. Można się nauczyć bardzo wiele.
https://www.youtube.com/c/ArjanCodes
c) Intro to Data Structures and Algorithms
Wstęp do algorytmiki bogato przedstawiony przykładami Pytohnowymi. Kod na filmach nie jest najbardziej pythonowym jaki widzieliście, ale wiedza algorytmiczna jest solidna, także warto.
https://www.udacity.com/course/data-structures-and-algorithms-in-python--ud513
d) Python Best Practices for Code Quality
Seria filmów omawiająca najpotrzebniejsze aspekty podnoszenia jakości kodu i ułatwiania jego utrzymania - pep, pylint, dokumentacja, typowanie.
Czas trwania: 1h 10m
https://www.pluralsight.com/courses/python-best-practices-code-quality
e) Managing Python Packages and Virtual Environments
Seria filmów ujcząca organizacji i zarzadzania wieloma paczkami i wieloma wersjami wirtualnych środowisk. Od podstaw i pipa, przez toxa aż po pipenva i poetry. Bardzo dobry zestaw narzędzi jest umówiony.
Czas trwania: 1h 29m
https://www.pluralsight.com/courses/managing-python-packages-virtual-environments
███████░██████░░██░░░░██░████████░░██████░░██████░░
██░░░░░░██░░░██░░██░░██░░░░░██░░░░██░░░░██░██░░░██░
█████░░░██░░░██░░░████░░░░░░██░░░░██░░░░██░██████░░
██░░░░░░██░░░██░░░░██░░░░░░░██░░░░██░░░░██░██░░░██░
███████░██████░░░░░██░░░░░░░██░░░░░██████░░██░░░██░
▓ Edytory
a) Sublime Text 4
Bardzo dobrze wykonany edytor obsługujący wiele języków ale szczególnie dobrze radzący sobie z pythonem (z pomocą doskonale napisanych pluginów). Polecam z czystym sercem, zwłaszcza tym którzy potrzebują szybkiego narzędzia albo mają słabszy sprzęt.
b) Visual Studio Code
Pomimo, że dalej nie trawię edytorów wykonanych na electron.js i pisanych w javascripcie, twórcy VSCode (microsoft) odwalili kawał dobrej roboty. Świetne extensiony do pythona, rozbudowana społeczność, wszystko idzie znaleźć lub się dowiedzieć.
▓ IDE
Na rynku są teoretycznie 3 rozbudowane IDE - PyCharm, Wingware IDE i Komodo IDE. W praktyce już od dłuższego czasu liczy się tylko PyCharm, on wyznacza trendy i jest zdecydowanie najlepszy z całej bandy. Polecam go tak mocno jak tylko mogę polecić. Uzywam komercyjnie i hobbistycznie od ~10 lat.
███████░░█████░░██████░░░█████░░███░░░░██░██░░█████░░
░░░███░░██░░░██░██░░░██░██░░░██░████░░░██░██░██░░░██░
░░███░░░███████░██░░░██░███████░██░██░░██░██░███████░
░███░░░░██░░░██░██░░░██░██░░░██░██░░██░██░██░██░░░██░
███████░██░░░██░██████░░██░░░██░██░░░████░██░██░░░██░
"Pełniejszą" listę stron z zadaniami można znaleźć w moim starym wpisie tutaj -> https://www.wykop.pl/wpis/10387894/lista-stron-z-zadaniami-i-wyzwaniami-programistycz/
▓▓ Zagadki
a) Codewars
Ale się ta stronka przez lata wyrobiła. Śmiało mogę polecić, bardzo dobry user experience!
https://www.codewars.com/
b) Codechef
Bardzo niedoceniana strona z wieloma świetnymi wyzwaniami. Toporny interfejs, ale warto dać jej szanse!
https://www.codechef.com/
▓▓ Pomysły na projekty
a) Chanowe wyzwania programistyczne
Lista która swoją historię zaczęła od 4chanów i innych chanów jest wiecznie żywa, dzisiaj mam taką wersję!
https://raw.githubusercontent.com/Agrendalath/Programming-Challenges-v1.4/master/challenges.jpg
b) Karan's Mega Project List
Jest w każdym zestawieniu i prawdopodobnie będzie w każdym następnym, pomysły na projekty są dość uniwersalne i wieczne, a to jest jedno z najlepszych zestawień jakie widziałem.
https://github.com/karan/Projects
██░░░░██░██░░░░░██░░█████░░░██████░░██░
██░░░░██░██░░░░░██░██░░░██░██░░░░░░░██░
██░░░░██░██░░█░░██░███████░██░░░███░██░
██░░░░██░██░███░██░██░░░██░██░░░░██░██░
░██████░░░███░███░░██░░░██░░██████░░██░
Python to doskonały język na początek i P O T Ę Ż N Y towarzysz naszej całej kariery programistycznej, jest przydatny i pomocny w tak wielu sytuacjach, że nie sposób ich wszystkich wymienić. Dodatkowo uczenie maszynowe i analiza danych są tak mocnymi ostojami Pythona, że nie da się go stamtąd usunąc mimo iż wielu próbowało :)
Przepraszam za ASCII, zwłaszcza jak się komuś źle wyświetla, ale taką miałem zachciankę i nie mogłem się powstrzymać xD
MIŁEJ NAUKI!
A tak na serio to uczę się już od wielu miesięcy i nieźle mi idzie dziękuję za nowe materiały.
@aseeon_: Dodałem zanim jeszcze napisałem komentarz ( ͡° ͜ʖ ͡°)