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

Jak się uczyć Pythona? Materiały do nauki
Wizzie
  • Rejestracja:prawie 11 lat
  • Ostatnio:ponad 7 lat
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.

edytowany 5x, ostatnio: flowCRANE
Zobacz pozostały 1 komentarz
NoZi
super, że jest wątek o pajtonie, jeszcze tylko Ruby ;)
H1
Szkoda, ze nie udostepniaja juz skonfigurowanego sublime do sciagniecia.
CK
przestańcie polecać Codecademy - pieniądze wtopione w błoto - nic się z tego nie da nauczyć tak słabe są to kursy - prawie każda książka będzie lepsza niż ten kurs
Heheczek
  • Rejestracja:ponad 9 lat
  • Ostatnio:ponad 5 lat
  • Postów:148
1
edytowany 3x, ostatnio: Heheczek
BY
  • Rejestracja:prawie 10 lat
  • Ostatnio:ponad 4 lata
  • Postów:65
2

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

KA
KA
  • Rejestracja:prawie 12 lat
  • Ostatnio:prawie 5 lat
  • Lokalizacja:Warszawa
  • Postów:1683
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


PROGRAMY NA ZAMÓWIENIE, ZALICZENIA STUDENCKIE, KONFIGURACJA SERWERÓW, SYSTEMÓW I BAZ DANYCH, STRONY INTERNETOWE, POMOC W PROGRAMOWANIU, POPRAWIENIE I OPTYMALIZACJA APLIKACJI
JAVA, C++, LINUX, WWW, SQL, PYTHON
POSIADAM KOMERCYJNE DOŚWIADCZENIE
TANIO, SZYBKO I PORZĄDNIE
Z KOMENTARZAMI OBJAŚNIAJĄCYMI KOD
PISZ NA PRYWATNĄ WIADOMOŚĆ
CENY JUŻ OD 49,99ZŁ ZA PROGRAM
ZAJMIJ SIĘ TYM CO CIĘ NAPRAWDĘ INTERESUJE!
Wizzie
to już jest temacie, tylko, że dla wersji 3 :)
KA
no dobra ale dla python 2 też się przyda
H1
  • Rejestracja:około 10 lat
  • Ostatnio:ponad 6 lat
  • Postów:185
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" ;)

edytowany 2x, ostatnio: H1ghlander
NZ
  • Rejestracja:ponad 9 lat
  • Ostatnio:ponad 8 lat
  • Postów:93
2
Spine
  • Rejestracja:prawie 22 lata
  • Ostatnio:2 minuty
  • Postów:6626
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.


🕹️⌨️🖥️🖱️🎮
edytowany 1x, ostatnio: Spine
Wizzie
chodziło mi, że studenty (albo ludzie z mailem kończącym się na edu :D) mają pełną wersję za darmo, Community może mieć każdy :P
krzysiek050
@Wizzie Nie pełną wersję. Nie możesz pisać w niej komercynie, czyli wszystkich funkcji nie masz.
Wizzie
ale masz wszystkie funkcje IDE :D
krzysiek050
To taki legalny pirat :)
Gjorni
  • Rejestracja:około 12 lat
  • Ostatnio:około 3 lata
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)

The quieter you become, the more you are able to hear.
edytowany 2x, ostatnio: Gjorni
H1
  • Rejestracja:około 10 lat
  • Ostatnio:ponad 6 lat
  • Postów:185
0

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

Wizzie
"od biedy" to tutaj naprawdę trafne określenie ;)
H1
Uzylem tego okreslenia specjalnie. ;)
AD
  • Rejestracja:około 11 lat
  • Ostatnio:3 dni
  • Postów:481
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.

LG
Nie rozumiem, dlaczego programując w C# z użyciem .NET (ciężko nie używać), od razu wiążesz MVC ?
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.

AD
  • Rejestracja:około 11 lat
  • Ostatnio:3 dni
  • Postów:481
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.

Wizzie
jest już PyQt5, a co do najpopularniejszych bibliotek i frameworków to dodam
MI
Sama biblioteka standardowa python'a otwiera wiele możliwości i to w zasadzie jak to nazwałeś "must know" o ile python to nie Twój pierwszy język to polecam na początek poznać Zen Python'a i odrzucić przyzwyczajenia z innych języków :)
Wizzie
oczywiście nie traktować Zen super dosłownie, bo nagle zaczniecie pisać kod niskopoziomowo z racji zasady "explicit is better than implicit"
TH
TH
  • Rejestracja:ponad 9 lat
  • Ostatnio:ponad 4 lata
  • Postów:31
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/

edytowany 1x, ostatnio: thorbjorn
vpiotr
  • Rejestracja:ponad 13 lat
  • Ostatnio:prawie 3 lata
1

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

  • w tym tygodniu 7 e-książek o Pythonie za darmo (codziennie inna)
AD
  • Rejestracja:około 11 lat
  • Ostatnio:3 dni
  • Postów:481
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.

LM
  • Rejestracja:ponad 9 lat
  • Ostatnio:około 9 lat
  • Postów:57
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.

CodeObiect
Dzięki za link do tutorialu interactive python ;)
0
LM
  • Rejestracja:ponad 9 lat
  • Ostatnio:około 9 lat
  • Postów:57
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.

G3
Kompilatora Pythona? Nie wiesz o czym piszesz albo na prawdę miałeś na myśli kompilator do Pythona :) Raczej to pierwsze.
julekcezar
  • Rejestracja:ponad 10 lat
  • Ostatnio:ponad 2 lata
  • Lokalizacja:Warszawa
  • Postów:6
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

S1
  • Rejestracja:ponad 8 lat
  • Ostatnio:ponad 6 lat
  • Postów:2
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?

siloam
Dobra na sam początek, ale szybko szukaj czegoś innego. W tej książce są podstawy podstaw.
Spine
  • Rejestracja:prawie 22 lata
  • Ostatnio:2 minuty
  • Postów:6626
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 ;)


🕹️⌨️🖥️🖱️🎮
edytowany 5x, ostatnio: Spine
K2
  • Rejestracja:około 9 lat
  • Ostatnio:około rok
  • Postów:11
0

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

edytowany 2x, ostatnio: ksp2501
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ż.

H1
  • Rejestracja:około 10 lat
  • Ostatnio:ponad 6 lat
  • Postów:185
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. ;)

edytowany 1x, ostatnio: H1ghlander
siloam
Imho, jedna z najlepszych książek jakie powstały jako wprowadzenie do Pythona.
JE
  • Rejestracja:ponad 9 lat
  • Ostatnio:ponad 6 lat
  • Postów:2
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 ?.

Wizzie
  • Rejestracja:prawie 11 lat
  • Ostatnio:ponad 7 lat
0

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

siloam
Uczenie się programowania od razu od Django to strzał w stopę.
K2
  • Rejestracja:około 9 lat
  • Ostatnio:około rok
  • Postów:11
0

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

Kliknij, aby dodać treść...

Pomoc 1.18.8

Typografia

Edytor obsługuje składnie Markdown, w której pojedynczy akcent *kursywa* oraz _kursywa_ to pochylenie. Z kolei podwójny akcent **pogrubienie** oraz __pogrubienie__ to pogrubienie. Dodanie znaczników ~~strike~~ to przekreślenie.

Możesz dodać formatowanie komendami , , oraz .

Ponieważ dekoracja podkreślenia jest przeznaczona na linki, markdown nie zawiera specjalnej składni dla podkreślenia. Dlatego by dodać podkreślenie, użyj <u>underline</u>.

Komendy formatujące reagują na skróty klawiszowe: Ctrl+B, Ctrl+I, Ctrl+U oraz Ctrl+S.

Linki

By dodać link w edytorze użyj komendy lub użyj składni [title](link). URL umieszczony w linku lub nawet URL umieszczony bezpośrednio w tekście będzie aktywny i klikalny.

Jeżeli chcesz, możesz samodzielnie dodać link: <a href="link">title</a>.

Wewnętrzne odnośniki

Możesz umieścić odnośnik do wewnętrznej podstrony, używając następującej składni: [[Delphi/Kompendium]] lub [[Delphi/Kompendium|kliknij, aby przejść do kompendium]]. Odnośniki mogą prowadzić do Forum 4programmers.net lub np. do Kompendium.

Wspomnienia użytkowników

By wspomnieć użytkownika forum, wpisz w formularzu znak @. Zobaczysz okienko samouzupełniające nazwy użytkowników. Samouzupełnienie dobierze odpowiedni format wspomnienia, zależnie od tego czy w nazwie użytkownika znajduje się spacja.

Znaczniki HTML

Dozwolone jest używanie niektórych znaczników HTML: <a>, <b>, <i>, <kbd>, <del>, <strong>, <dfn>, <pre>, <blockquote>, <hr/>, <sub>, <sup> oraz <img/>.

Skróty klawiszowe

Dodaj kombinację klawiszy komendą notacji klawiszy lub skrótem klawiszowym Alt+K.

Reprezentuj kombinacje klawiszowe używając taga <kbd>. Oddziel od siebie klawisze znakiem plus, np <kbd>Alt+Tab</kbd>.

Indeks górny oraz dolny

Przykład: wpisując H<sub>2</sub>O i m<sup>2</sup> otrzymasz: H2O i m2.

Składnia Tex

By precyzyjnie wyrazić działanie matematyczne, użyj składni Tex.

<tex>arcctg(x) = argtan(\frac{1}{x}) = arcsin(\frac{1}{\sqrt{1+x^2}})</tex>

Kod źródłowy

Krótkie fragmenty kodu

Wszelkie jednolinijkowe instrukcje języka programowania powinny być zawarte pomiędzy obróconymi apostrofami: `kod instrukcji` lub ``console.log(`string`);``.

Kod wielolinijkowy

Dodaj fragment kodu komendą . Fragmenty kodu zajmujące całą lub więcej linijek powinny być umieszczone w wielolinijkowym fragmencie kodu. Znaczniki ``` lub ~~~ umożliwiają kolorowanie różnych języków programowania. Możemy nadać nazwę języka programowania używając auto-uzupełnienia, kod został pokolorowany używając konkretnych ustawień kolorowania składni:

```javascript
document.write('Hello World');
```

Możesz zaznaczyć również już wklejony kod w edytorze, i użyć komendy  by zamienić go w kod. Użyj kombinacji Ctrl+`, by dodać fragment kodu bez oznaczników języka.

Tabelki

Dodaj przykładową tabelkę używając komendy . Przykładowa tabelka składa się z dwóch kolumn, nagłówka i jednego wiersza.

Wygeneruj tabelkę na podstawie szablonu. Oddziel komórki separatorem ; lub |, a następnie zaznacz szablonu.

nazwisko;dziedzina;odkrycie
Pitagoras;mathematics;Pythagorean Theorem
Albert Einstein;physics;General Relativity
Marie Curie, Pierre Curie;chemistry;Radium, Polonium

Użyj komendy by zamienić zaznaczony szablon na tabelkę Markdown.

Lista uporządkowana i nieuporządkowana

Możliwe jest tworzenie listy numerowanych oraz wypunktowanych. Wystarczy, że pierwszym znakiem linii będzie * lub - dla listy nieuporządkowanej oraz 1. dla listy uporządkowanej.

Użyj komendy by dodać listę uporządkowaną.

1. Lista numerowana
2. Lista numerowana

Użyj komendy by dodać listę nieuporządkowaną.

* Lista wypunktowana
* Lista wypunktowana
** Lista wypunktowana (drugi poziom)

Składnia Markdown

Edytor obsługuje składnię Markdown, która składa się ze znaków specjalnych. Dostępne komendy, jak formatowanie , dodanie tabelki lub fragmentu kodu są w pewnym sensie świadome otaczającej jej składni, i postarają się unikać uszkodzenia jej.

Dla przykładu, używając tylko dostępnych komend, nie możemy dodać formatowania pogrubienia do kodu wielolinijkowego, albo dodać listy do tabelki - mogłoby to doprowadzić do uszkodzenia składni.

W pewnych odosobnionych przypadkach brak nowej linii przed elementami markdown również mógłby uszkodzić składnie, dlatego edytor dodaje brakujące nowe linie. Dla przykładu, dodanie formatowania pochylenia zaraz po tabelce, mogłoby zostać błędne zinterpretowane, więc edytor doda oddzielającą nową linię pomiędzy tabelką, a pochyleniem.

Skróty klawiszowe

Skróty formatujące, kiedy w edytorze znajduje się pojedynczy kursor, wstawiają sformatowany tekst przykładowy. Jeśli w edytorze znajduje się zaznaczenie (słowo, linijka, paragraf), wtedy zaznaczenie zostaje sformatowane.

  • Ctrl+B - dodaj pogrubienie lub pogrub zaznaczenie
  • Ctrl+I - dodaj pochylenie lub pochyl zaznaczenie
  • Ctrl+U - dodaj podkreślenie lub podkreśl zaznaczenie
  • Ctrl+S - dodaj przekreślenie lub przekreśl zaznaczenie

Notacja Klawiszy

  • Alt+K - dodaj notację klawiszy

Fragment kodu bez oznacznika

  • Alt+C - dodaj pusty fragment kodu

Skróty operujące na kodzie i linijkach:

  • Alt+L - zaznaczenie całej linii
  • Alt+, Alt+ - przeniesienie linijki w której znajduje się kursor w górę/dół.
  • Tab/⌘+] - dodaj wcięcie (wcięcie w prawo)
  • Shit+Tab/⌘+[ - usunięcie wcięcia (wycięcie w lewo)

Dodawanie postów:

  • Ctrl+Enter - dodaj post
  • ⌘+Enter - dodaj post (MacOS)