Jak się uczyć Pythona? Materiały do nauki

25

Są takie tematy w większości działów o językach, w tym też się przyda. Wrzucajcie co uważacie za dobre.

Na początek pytanie, które zada sobie prawdopodobnie każdy zaczynający przygodę z Pythonem:

Którą wersję wybrać?

Python 3 jest nowszą "gałęzią" Pythona. Używaj tej wersji. Jeśli z jakiegoś powodu musisz używać Pythona 2, prawdopodobnie o tym wiesz i nie czytasz tego tematu :)

Początkujący

Dobre praktyki

Środowisko i narzędzia

Python w zastosowaniach naukowych

Python jest szeroko używany w zastosowaniach naukowych, od statystyki, analizy danych po neurobiologię. Po więcej informacji patrz post @Gjorni niżej.

2

https://automatetheboringstuff.com/ - spoko na start. Pokazuje praktyczne użycie. Wciąga tych niekodujących.

1

https://docs.python.org/2/tutorial/

PS piszę to tera jest 19:41 09/10/2015 i jest to oficjalnie 4 post w dziale Python. gratulacje przyjmuje w komentach

4

Ja znam to:
http://www.swaroopch.com/notes/python/ książka za free
http://www.diveintopython3.net/ książka za free
http://www.pythonchallenge.com/ python riddles
https://github.com/CodementorIO/Python-Learning-Resources - kolekcja tutoriali
http://www.fullstackpython.com/best-python-resources.html - kolekcja tutoriali

Jeszcze możecie dodać "Jakie najlepsze IDE do Pythona? I dlaczego jest to PyCharm" ;)

3
Wizzie napisał(a):

Pycharm - najlepsze IDE do Pythona, studenty mają za darmo

Nie tylko "studenty", bo Community Edition jest OpenSource na licencji Apache 2.0. Więc każdy może mieć za free pewien podzbiór wersji Professional i używać komercyjnie tego IDE.

4

Jeżeli jesteś zainteresowany rozszerzeniem funkcjonalności Pythona na wysokowydajnościowe obliczenia, zastosowania naukowe, operacje na macierzach, to powinieneś zastanowić się nad pakietem Anaconda (1), która zawiera w podstawowej instalacji ponad 150 pakietów, w tym między innymi: NumPy, Pandas, SciPy, Matplotlib, czy IPython. Dodatkowe ponad 340 pakietów jest dostępnych za "dotknięciem terminala", tj. wystarczy wpisać w linii komend conda install package_name i voila. Pełna lista dostępnych pakietów dostępna jest pod linkiem nr 2. Anacondę można również bez problemu połączyć z PyCharmem (3).

  1. https://www.continuum.io/why-anaconda. (Continuum Anaconda Distribution [CAD])
  2. http://docs.continuum.io/anaconda/pkg-docs. (Pełna lista dostępnych pakietów w CAD)
  3. http://docs.continuum.io/anaconda/ide_integration#pycharm. (Jak połączyć CAD z PyCharmem)

Po zainstalowaniu IPythona polecam również zapoznać się z jego funkcjonalnością "notebook" dostępną pod komendą ipython notebook. Za jego pośrednictwem możemy bawić się równolegle Pythonem i np. R. Powiedzmy, że w Pythonie przygotowujemy sobie dane, obliczamy statystykę w R, po czym plotujemy wyniki znowu w Pythonie itp.

Kilka dodatkowych ciekawych odnośników:

  1. http://www.scipy-lectures.org/index.html. (SciPy Lecturee Notes - czyli poradnik programowania naukowego w Pythonie)
  2. http://stanford.edu/~mwaskom/software/seaborn/. (Bardzo ładna biblioteka do plotów)
0

Od biedy jest jeszcze IDE jak LiClipse. Jak ktos lubi Eclipse. Albo PyDev plugin do Eclipse.

0

Przydałoby się jeszcze coś takiego jak "must know" dla początkującego programisty Pythona - co każdy musi umieć. Przykładowo w Javie trzeba poznać frameworki jak Spring, Hibernate, w C# jeśli idziemy w .NET to np. MVC, a w Pythonie co używa się w pracy?

Swoją drogą bardzo przydatny temat i fajnie, że powstał dział dla Pythona.

0

W podpisie tego działu masz frameworki webowe: Flask, Django, Tornado,... :) Najpopularniejszy to Django. Dobrze znać też mniejsze Flask czy Bottle, bo Django to kobyła.

Mam wrażenie, że do Pythona jest najwięcej bibliotek / modułów, każdy coś znajdzie dla siebie.

Pijamny Młot.

0

O Django też słyszałem już wcześniej i zawsze kojarzył mi się jakoś z samym Pythonem. Spróbuję zrobić jakąś aplikację w tym frameworku i zobaczę jak to działa. Jest też np. Robot używany do testów, a PyQt4 do interfejsu graficznego i jest chyba najbardziej do tego polecany.

Ogólnie chciałbym wiedzieć jakie są typowe narzędzia/frameworki/moduły których używa się pracując w Pythonie, bo jest ich własnie bardzo dużo.

0

Calkiem fajny kurs: http://learnpythonthehardway.org/
a tu nawet spoko zbiór materiałów, nie tylko do Python'a: http://programming-motherfucker.com/become.html
Docs'y Flaska: http://flask.pocoo.org/docs/0.10/

1

https://www.packtpub.com/packt/offers/free-learning

  • w tym tygodniu 7 e-książek o Pythonie za darmo (codziennie inna)
0

Ja właśnie zaczynam z Django, bo spodobało mi się to jak szybko buduje się w nim aplikacje. Polecam dokumentację z oficjalnej strony Django, bo jest bardzo dobrze napisana https://docs.djangoproject.com

Najpierw zacząłem z tutorialem stąd: https://thinkster.io/django-angularjs-tutorial ale dałem sobie spokój. Na początku straciłem dobre kilka godzin na samą konfigurację, bo nie zgadzały się różne wersje Pythona/Django i to co było tam podane i trzeba było kombinować, a poza poleceniami do instalacji, to nic więcej o tym nie napisali. W końcu się udało, ale sam sposób nauki niezbyt mi się podobał i odpuściłem. Szczególnie już to zdanie mnie zniechęciło:

{info} This is a naive implementation of how to validate a password. I would not recommend using this in a real-world system, but for our purposes this does nicely.

Powinni chociaż wyjaśnić dlaczego to nie jest polecane, a tak to tylko pokazali jakiś sposób, mam go używać, ale tak naprawdę to nie jest zbyt dobry.

1

Jako, że wróciłem do Pythona, to wrzuce coś od siebie:
http://interactivepython.org/runestone/static/thinkcspy/toc.html - interaktywna nauka Pythona od zera. IMHO o wiele lepsze od nudnego Codeacademy.
http://pythonbooks.revolunet.com/ - zestaw e-bookow do nauki Pythona za free.

0

Jaką byście polecili obecnie książkę do nauki Pythona?

0

Kiedyś uczyłem się z książki:
"Beginning Python: From Novice to Professional"
Dosyć dobry jest też tutorial dołączony do kompilatora Pythona.

0

Ja zacząłem naukę pythona od książki Program Arcade Games With Python and Pygame (Fourth Edition) - Dr. Paul Vincent Craven tutaj stronka jak ktoś nie chce kupić książki http://programarcadegames.com/

oraz od Python Programming for the Absolute Beginner, Third Edition Michael Dawson

i wiadomo dokumentacja pythona

0

Jaką książkę polecacie dla początkującego, który nie miał styczności jeszcze z żadnym innym językiem ?

Czy "Python dla każdego. Podstawy programowania. Wydanie III" jest dobrym wyborem? Z tego co widzę to książka opiera się na pythonie 3.1.1, czy nadal jest aktualna?

0

Poczytaj sobie co nowego w poszczególnych wersjach Pythona:
https://docs.python.org/3.6/whatsnew/index.html

Na pewno do nauki podstaw wystarczy Ci ta książka. Reszty się douczysz z Internetu.

Rozsądne instytucje nie gonią za nowościami. Często korzystają ze sprawdzonych/stabilnych rozwiązań. Python 3 w ogóle w Google App Engine jest w fazie beta (najedź na "?" w nagłówku tabeli Flexible Environment) - https://cloud.google.com/appengine/docs
Przez bardzo długi czas trzymali się Pythona w wersji 2.5. Przejście na 2.7 to był duży krok ;)

0

Derek Banas właśnie tworzy serię Learn to program wykorzystując do tego Pythona. 2 nowe filmiki tygodniowo

0

Niektóre programy z tej książki nie działały poprawnie na Pythonie 3.5.2 mimo że Python 3.1.1. A szkoda, bo twórca Pythona powiedział że Python 4 nie powstanie, jak będzie taka kompatybilność wstecz wersji 3 z nowszą trójką, to powinni na książkach pisać grubym tytułem Python 3.5 wzwyż.

1

Ja mam tę książkę jak poniżej:
Python. Wprowadzenie. Wydanie IV
http://helion.pl/ksiazki/python-wprowadzenie-wydanie-iv-mark-lutz,pytho4.htm

Wydaje się ok dla nowicjuszy. Nie wiem czy to dobre miejsce na ogłoszenia.... ogólnie to chętnie odsprzedam, mi już jest niepotrzebna. PM. ;)

0

Pytanko przymierzam się do nauki django i na helionie jest oto taka pozycja : http://helion.pl/ksiazki/django-praktyczne-tworzenie-aplikacji-sieciowych-antonio-mel,djptas.htm . Warto w cos takiego się zaopatrzyć czy szukać czegoś innego na start ?.

0

Osobiście nie widzę potrzeby kupowania książki, za darmo można nauczyć się bez problemu. Na oficjalnej stronie Django są tutoriale.

0

Python, Django, uczenie maszynowe i wiele innych rzeczy
https://pythonprogramming.net/

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.