Jak nauczyć się języka Python od zera do tworzenia stron internetowych? [Zamknięte]

48

Szukam nauki języka Python do tworzenia stron internetowych.

Zakładając, że mam już pewne podstawowe doświadczenie w programowaniu stron internetowych w Javie (JSP / Servlety), jestem już zaznajomiony z projektowaniem stron internetowych (HTML, CSS, JS), podstawowymi pojęciami programistycznymi i że jestem zupełnie nowy w Pythonie, jak to zrobić uczysz się Pythona w uporządkowany sposób, który ostatecznie doprowadzi mnie do tworzenia stron internetowych z Python i Django?

Nie spieszy mi się z tworzeniem aplikacji internetowych w Pythonie, więc naprawdę chcę się tego dokładnie nauczyć, aby nie pozostawić żadnych luk w mojej wiedzy o technologiach związanych z tworzeniem stron internetowych w Pythonie. Czy są jakieś książki, zasoby lub techniki, które mogłyby mi pomóc w moich staraniach? W jakiej kolejności powinienem je robić / czytać?

AKTUALIZACJA:

Kiedy mówię, że nauka jest ustrukturyzowana, mam na myśli rozpoczęcie od podstaw, a następnie naukę zaawansowanych rzeczy bez pozostawiania niektórych ważnych szczegółów / funkcji, które ma do zaoferowania Python. Chcę wiedzieć, jak zastosować do Pythona rzeczy, które już znam w programowaniu.

Terence Ponce
źródło
6
+1 za nie spieszy się. To najlepszy sposób na naukę języka, wypróbowania różnych rzeczy, ale nie zanurzaj się w projekt produkcyjny, aby nauczyć się języka.
Chris,

Odpowiedzi:

49

Najpierw dobrze naucz się języka Python

Oto niektóre zasoby online do nauki języka Python

  1. Samouczek języka Python
  2. Wiki-Book
  3. Bajt Pythona
  4. Budowanie umiejętności w Python w wersji 2.5
  5. Darmowe książki online w języku Python
  6. Python Bibliotheca
  7. Pomyśl o Pythonie
  8. Struktury danych i algorytmy w Pythonie
  9. Jak myśleć jak informatyk: uczenie się w języku Python
  10. Python dla zabawy
  11. Wymyśl własne gry komputerowe za pomocą Pythona
  12. Dowiedz się Python w trudny sposób
  13. Myślenie w Pythonie
  14. Snake Wrangling For Kids

W przypadku Django możesz polecić

Sugeruję to

  1. Samouczek języka Python
  2. Wiki-Book
  3. Książka Django

Sprawdź także ten film

Chankey Pathak
źródło
6
Świetna lista! Słyszałem, że Dive Into Python jest świetny dla doświadczonych programistów, którzy rozpoczynają pracę w Pythonie.
Terence Ponce
Obecnie, dzięki Dive to Python, jest szybka i stanowi fantastyczne źródło informacji dla istniejących programistów, którzy chcą nauczyć się języka! Sugeruję pracę z chp 2 i 3, aby zobaczyć, jak to pójdzie, co bardzo dobrze zorientuje cię w składni i typach danych :)
inwert
@Terence: Zgadzam się, biorąc pod uwagę, że właśnie to właśnie zrobiłem. Ta książka przyniosła mi szybkość. Pochodzi z licencjata CSE używającego java, c, php (w pracy) i różnych innych języków.
Chris
+1) dla TheDjangoBook i wideo. Python Web Programming może być również dobrym wyborem.
ravi404
15

Nie bierz tego zbyt poważnie, ale ...

  • utwórz nazwę pliku app.pyo następującej treści:

    from flask import Flask
    app = Flask(__name__)
    
    @app.route("/")
    def hello():
        return "Hello World!"
    
    if __name__ == "__main__":
        app.run()
  • zakładając, że masz pip(pakiet python instalatora) zainstalowany , wykonaj następujące czynności:

    $ pip install Flask
    $ python app.py
    * Running on http://localhost:5000/
  • Teraz możesz odwiedzić swoją pierwszą aplikację internetową pod localhost, port 5000.

To byłaby Twoja pierwsza aplikacja sieci Web w języku Python. Wszystko po tym to „udoskonalenie” struktury, funkcjonalności i wyglądu aplikacji.

miku
źródło
8

Jeśli szukasz programowania WWW w Pythonie, to po dokładnym zrozumieniu Pythona sugeruję przyjrzeć się Flaskowi. Django i inne frameworki z pełnym stosem na pewno znacznie ułatwią ci życie, ale ogólnie sprawią, że poczujesz się niekompletnie, jakbyś niewiele się nauczył. Flask IMHO, jest obecnie najbardziej niesamowitym frameworkiem w Pythonie, ale tak, to tylko moja opinia.

Rasmus
źródło
4

Chciałbym również polecić Python Koans do nauki: http://github.com/gregmalcolm/python_koans

Są bardzo podobne do Ruby Koans (wiele z nich zostało bezpośrednio przeniesionych) i są całkiem fajne.

Tyler
źródło
1
czy mógłbyś wyjaśnić więcej na temat tego, co robi i dlaczego polecasz to jako odpowiedź na zadane pytanie? „Tylko odpowiedzi” nie są mile widziane na Stack Exchange
gnat
3

http://learnpythonthehardway.org

To darmowa książka online, która zawiera serię 52 lekcji języka python.

Rozpoczynając od lekcji 1 i przechodząc do lekcji 52, powinieneś nauczyć się wystarczająco dużo, aby uznać się za kompetentnego programistę w języku python.

Każda lekcja zawiera przykłady kodu, na które powinieneś poświęcić trochę czasu, a następnie URUCHOM, a następnie ZMIEŃ, aby zobaczyć, jak to zmienia wyniki.

Jest to proces, w którym większość osób, które znam, ogólnie uczy się programowania.

Alex C.
źródło
1
czy mógłbyś wyjaśnić to bardziej szczegółowo - jak i dlaczego odpowiada na zadane pytanie? „Tylko odpowiedzi” nie są mile widziane na Stack Exchange
gnat
1
mam nadzieję, że powyższe spełnia twoje potrzeby. Dzięki za opinie.
Alex C
1
Zdecydowanie nie powinieneś kopiować i wklejać ćwiczeń, ponieważ to wcale nie pomoże ci się uczyć. Z pierwszego rozdziału książki:You must type each of these exercises in, manually. If you copy and paste, you might as well just not even do them. The point of these exercises is to train your hands, your brain, and your mind in how to read, write, and see code. If you copy-paste, you are cheating yourself out of the effectiveness of the lessons.
marco-fiset
1
Dzięki Marco. Dostosowałem również odpowiedź, aby odzwierciedlić ten punkt.
Alex C
0

Tworzenie stron internetowych zawsze sprowadza się do jednej rzeczy: jest to przeglądarka. Naucz się HTML, CSS i JavaScript bardzo dobrze, a przyda Ci się każda zmiana języka.

Www.w3schools.com to świetne miejsce do nauki tych rzeczy, ale jeśli chodzi o CSS, często bardzo przydatne jest po prostu usiąść i grać z nim. Znajdź fajny projekt strony i zaimplementuj go ręcznie w HTML. Jest to bardzo, bardzo niezbędna umiejętność, jeśli dowolny kod po stronie serwera powoduje HTML.

Następnie podoba mi się twoje logiczne podejście, ale może nie być to najlepszy sposób, aby się tym zająć. Bardziej satysfakcjonującym podejściem może być ustalenie celu, który chcesz osiągnąć, i nauka po drodze.

Jednak rozpoczęcie od django może nie być najlepszym pomysłem. Wiele decyzji, które podjęli podczas projektowania frameworku, miałoby sens tylko wtedy, gdybyś doświadczył problemów, które rozwiązują z pierwszej ręki. Moim pierwszym językiem internetowym był php, a najskuteczniejszym sposobem, w jaki rozumiałem najlepsze praktyki, było pisanie gównianego, kruchego kodu, uświadomienie sobie, że wystąpił problem i ponowne przeanalizowanie rozwiązań. Gdybym miał znaleźć rozwiązanie, zanim zrozumiałem problem, nie byłem w stanie skutecznie go zastosować.

Jeśli chcesz poświęcić temu czas, być może rozpoczęcie od mniej abstrakcyjnego zestawu technologii, takiego jak php, może być świetnym doświadczeniem w nauce.


źródło
2
Myślę, że przegapiłeś to, co powiedziałem o mnie, mając już doświadczenie w tworzeniu stron internetowych i znajomość podstawowych pojęć programistycznych. Znałem już HTML, CSS i JavaScript przed przejściem na JSP / Servlets. Jeśli chodzi o podejście (które chciałem) do nauki języka Python, chcę tylko wiedzieć, jak zastosować to, co już wiem w programowaniu, nie tracąc przy tym niektórych szczegółów / funkcji, które oferuje Python.
Terence Ponce
Być może powinieneś wyjaśnić swój post, ponieważ mówisz, że masz podstawowe doświadczenie w tworzeniu stron internetowych ... CSS, HTML i JavaScript mogą być bardzo złożone i potężne. Po prostu starałem się położyć nacisk na to, jak ważne są dla nich inwestycje w rozwój stron internetowych.
W porządku. Przepraszam za to. Zaktualizuję teraz moje pytanie.
Terence Ponce