Jak się uczyć pythona znając podstawy?

0

Przerobiłem "Python dla każdego. Podstawy programowania." Książka jak najbardziej na plus. Wiedzę na bieżąco używałem w praktyce. Napisałem kilka programów korzystając z tego czego się nauczyłem.

Chciałbym pisać programy. Jeśli pytasz o front-end lub back-end to zdecydowanie ten 2. Jak i czego mogę się dalej uczyć?

0

Backend- Django

Dokumentacja dobrze Cie w to wprowadzi

4

W mojej subiektywnej ocenie, jak ułożysz po kolei

  • tutorial
  • książka
  • dokumentacja
  • kod źródłowy

To dostajesz źródła informacji uporządkowane rosnąco względem naładowania informacjami i malejące względem łatwości przyswajania. Z tym drobnym wyjątkiem, że dowolne byle jakie źródło jest gorsze od dowolnego dobrego źródła, niezależnie od ich względnego położenia na tej liście ;)

Jak już przerobiłeś tutoriale i książki na tyle, że radzisz sobie z samodzielnym napisaniem jakiegoś prostego programu, to zastanów się, co konkretnie chciałbyś napisać, zrób research pt. "czego będę potrzebował" i uzbrojony w tę wiedzę otwórz dokumentację, przykłady i spróbuj zrealizować swój pomysł :) Bardzo fajnym źródłem jest dokumentacja Pythona

Jak chcesz się bardziej pouczyć jak co ze sobą połączyć, to do backendu możesz wziąć Flaska, w którym niewiele dostajesz out-of-the-box i zrealizowanie wielu rzeczy wymaga dociągnięcia jakiejś dependencji, a z drugiej strony jest całkiem prosty do nauczenia, nie rozbijesz się o ścianę z napisem "wielka kobyła którą nie wiadomo jak ugryźć". Możesz nawet pobawić się "gołym" werkzeugiem i spróbować napisać samemu serwerek który będzie odbierał jakieś żądania i coś z nimi robił, zanim weźmiesz się za typowe aplikacje webowe ;)

Potem możesz sobie dokładać kolejne klocki:

  • Flask - podstawowy backend, obsługa żądań, renderowanie templatek Jinja2 tudzież odpowiedzi JSON na jakieś AJAXy
  • Flask-RESTful - upraszcza zabawę w REST API
  • Flask-Login - sesja użytkownika i takie tam
  • Flask-SQLAlchemy - ułatwia nieco zabawę z SQLAlchemy (przez który rozmawiasz z bazą SQLową) i te sprawy
  • Flask-PyMongo do gadania z MongoDB
  • Flask-JWT-Simple / Flask-JWT-Extended - autoryzacja usera w REST API z wykorzystaniem JSON web tokenów
  • Flask-Admin - panele administracyjne
  • Flask-Migrate - migracje baz danych, pod spodem wykorzystuje alembic napisany przez twórców SQLAlchemy, wykorzystuje modele SQLAlchemy
  • Flask-CORS - CORSy we flasku
  • Flask-WTF - integracja WTForms, póki co dopiero próbuję rozgryźć CSRF protection dla API RESTowego więc za wiele Ci o tym nie powiem ;)

Sporo materiałów jest na blogu Miguela Grinberga ;)

Do tego jak będziesz chciał pobawić się w coś ciekawszego, dorobić jakąś ciekawą logikę do aplikacji itp możesz pobawić się np.:

  • numpy
  • pandas
  • geopandas
  • scipy
  • scikit-learn
  • networkx
1

Hej,
jeżeli chodzi o Pythona to jest akurat sporo materiałów, trochę kursów Ci zaproponuję:

  1. praca z danymi w różnych formatach: https://www.coursera.org/learn/python-network-data
  2. podstawy SQL na bazie SQLite: https://www.coursera.org/learn/python-databases
  3. Flask, Django i inne bajery: www.edx.com: CS50's Web Programming with Python and JavaScript
  4. Python for Data Science, j. w.

Poza tym zainteresowałbym się też technologiami Big Data, Python jest dość popularny w tego typu technologiach. :)

0

Każdy jest inny w kwestii uczenia się, ale moim zdaniem żadna teoria nie wejdzie Ci w krew jak nie rzucisz się na głęboką wodę, więc ja polecam tzw programowanie kompetetywne, czyli strony z zadaniami czy to na czas, czy na punkty, na których możesz potem porównać to co zrobiłeś w danej sytuacji Ty, z tym co zrobili inni, i widzisz ile brakuje jeszcze do bycia realnie 'dobrym' w pythonie.Polecam str takie jak np codesignal, codewars, skillvalue, hackerrank,Jak już rozwalasz najtrudniejsze zadania, wiesz że np listy potrafią wyczerpać pamięć kompilatora, a generatory czas na wykonanie się skryptu, i wiesz jak to wszystko łączyć i nudzisz sie to można pobawić się w np crowdsourcing, czyli zahaczenie o jakiś projekt żeby zdobyć doświadczenie, ja idę bardzo podobną drogą nauki i sobie to cenie bardziej od papierowej teorii, chociaż niektóre rzeczy jak założenia OOP, komendy SQL czy Git'a po prostu musisz znać na pamięć nieważne jakby to nudne sie nie wydawało.Ps.Front-End / Back-End to podział na którym ja bym sie chyba nie skupiał zbyt na początkowym czy nawet średnim etapie.Powodzenia.

1 użytkowników online, w tym zalogowanych: 0, gości: 1