Как мне изучить Python с нуля до веб-разработки? [закрыто]

48

Я изучаю Python для веб-разработки.

Предполагая, что у меня уже есть некоторый базовый опыт веб-разработки с Java (JSP / Servlets), я уже знаком с веб-дизайном (HTML, CSS, JS), базовыми концепциями программирования и что я совершенно новичок в Python, как мне поступить изучать Python структурированным способом, который в конечном итоге приведет меня к веб-разработке с Python и Django?

Я не спешу создавать веб-приложения на Python, поэтому я действительно хочу изучить его полностью, чтобы не оставить пробелов в моих знаниях технологий, связанных с веб-разработкой на Python. Есть ли какие-либо книги, ресурсы или методы, которые помогут мне в моих усилиях? В каком порядке я должен делать / читать их?

ОБНОВИТЬ:

Когда я говорю «обучение в структурированном виде», я имею в виду начинать с основ, а затем изучать сложные вещи, не оставляя при этом некоторых важных деталей / возможностей, которые может предложить Python. Я хочу знать, как применить то, что я уже знаю в программировании, к Python.

Теренс Понсе
источник
6
+1 за не спешу. Это лучший способ выучить язык, попробовать что-то, но не погружаться в производственный проект для изучения языка.
Крис

Ответы:

49

Сначала хорошо выучите Python

Вот некоторые онлайн ресурсы для изучения Python

  1. Учебник по Python
  2. Wiki-Book
  3. Байт Питона
  4. Создание навыков в Python версии 2.5
  5. Бесплатные электронные книги Python
  6. Python Bibliotheca
  7. Думай питон
  8. Структуры данных и алгоритмы в Python
  9. Как думать, как ученый: учиться на Python
  10. Python для развлечения
  11. Придумай свои компьютерные игры с Python
  12. Изучите Python трудный путь
  13. Мышление в Python
  14. Змея, спорящая для детей

Для Джанго вы можете обратиться

Я предлагаю

  1. Учебник по Python
  2. Wiki-Book
  3. Книга Джанго

Также посмотрите это видео

Чанки патхак
источник
6
Отличный список! Я слышал, что Dive Into Python отлично подходит для начинающих программистов, начинающих на Python.
Теренс Понсе
Работая через Dive into Python, он быстро развивается и является фантастическим ресурсом для существующих программистов, которые хотят изучать язык! Я предлагаю поработать над пунктами 2 и 3, чтобы понять, как это работает, что очень хорошо сориентирует вас по синтаксису и типам данных :)
инвертировать
@ Теренс: Я могу согласиться, учитывая, что это именно то, что я только что сделал. Эта книга, созданная студентами CSE с использованием java, c, php (на работе) и других языков, позволила мне быстро освоиться.
Крис
+1) для TheDjangoBook и видео. Веб-программирование на Python также может быть хорошим выбором.
ravi404
15

Не воспринимай это слишком серьезно, но ...

  • создать имя файла app.pyсо следующим содержанием:

    from flask import Flask
    app = Flask(__name__)
    
    @app.route("/")
    def hello():
        return "Hello World!"
    
    if __name__ == "__main__":
        app.run()
    
  • если у вас есть pip(пакет установщика Python) УСТАНОВЛЕНО сделать следующее:

    $ pip install Flask
    $ python app.py
    * Running on http://localhost:5000/
    
  • Теперь вы можете посетить свое первое веб-приложение под localhost, порт 5000.

Это будет ваше первое веб-приложение на Python. Все, что после этого - «доработка» в структуре приложения, функциональности и внешнем виде.

Мик
источник
8

Если вы ищете веб-разработку на python, то после тщательного изучения python я предлагаю вам взглянуть на Flask. Django и другие фреймворки с полным стеком определенно сделают вашу жизнь намного проще, но в целом у вас возникнет неполное чувство, как будто вы многому не научились. Flask ИМХО, на сегодняшний день это самый крутой фреймворк в python, но да, это только мое мнение.

Расмус
источник
4

Я также хотел бы порекомендовать Python Koans для изучения: http://github.com/gregmalcolm/python_koans

Они очень похожи на Ruby Koans (многие из них были портированы напрямую) и довольно круты.

Тайлер
источник
1
Вы не могли бы объяснить больше о том, что он делает, и почему вы рекомендуете ответить на заданный вопрос? «Ответы только на ссылки» не очень приветствуются на Stack Exchange
gnat
3

http://learnpythonthehardway.org

Это бесплатная онлайн-книга, которая содержит серию из 52 уроков по питону.

Начав с урока 1 и перейдя к уроку 52, вы должны выучить достаточно, чтобы считать себя компетентным программистом на языке Python.

В каждом уроке есть примеры кода, которые вы должны потратить на ввод времени, а затем ВЫПОЛНИТЬ, а затем ИЗМЕНИТЬ, чтобы увидеть, как это изменит результаты.

Это тот процесс, благодаря которому большинство знакомых мне людей обычно учатся программированию.

Алекс С
источник
1
Не могли бы вы объяснить это более подробно - как и почему это отвечает на заданный вопрос? «Ответы только на ссылки» не очень приветствуются на Stack Exchange
gnat
1
Надеюсь, что вышесказанное отвечает вашим потребностям. Спасибо за ответ.
Alex C
1
Вы не должны определенно копировать и вставлять упражнения, потому что это не поможет вам учиться вообще. Из первой главы книги: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.
Марко-Фисет
1
Спасибо Марко. Я также скорректировал ответ, чтобы отразить этот момент.
Алекс С
0

Веб-разработка всегда сводится к одному: это браузер. Изучайте HTML, CSS и JavaScript очень хорошо, и он будет вам полезен при любом изменении языка.

Www.w3schools.com - отличное место для изучения этих вещей, но когда дело доходит до CSS, часто очень полезно просто сесть и поиграть с ним. Найдите крутой веб-дизайн и вручную внедрите его в HTML. Это очень и очень необходимый навык, если любой ваш код на стороне сервера приводит к HTML.

Далее, мне нравится ваш логический подход, но, возможно, это не лучший способ сделать это. Более полезным подходом может быть установление цели, которую вы хотите достичь, и обучение на своем пути.

Однако начинать с django может быть не самой лучшей идеей. Многие из решений, которые они приняли при разработке структуры, имели бы смысл, только если бы вы столкнулись с проблемами, которые они решают из первых рук. Моим первым веб-языком был php, и самый эффективный способ, с помощью которого я понял лучшие практики, заключался в написании дрянного, хрупкого кода, понимания наличия проблемы и повторного поиска решений. Если бы я должен был найти решение до того, как понял проблему, я не смог бы применить его эффективно.

Если вы готовы не торопиться с этим, возможно, начинание с менее абстрактного набора технологий, такого как php, может стать отличным опытом обучения.


источник
2
Я думаю, что вы пропустили то, что я сказал о том, что у меня уже есть опыт в веб-разработке и вы знакомы с основными концепциями программирования. Я уже знал HTML, CSS и Javascript, прежде чем перейти к JSP / Servlets. Что касается подхода (который я хотел) к изучению Python, я просто хочу знать, как применить то, что я уже знаю в программировании, не упуская при этом некоторые детали / функции, которые может предложить Python.
Теренс Понс
Возможно, вам следует уточнить свой пост, так как вы говорите, что у вас есть базовый опыт веб-разработки .... CSS, HTML и JavaScript могут быть очень сложными и мощными. Я просто пытался подчеркнуть, насколько они важны для любой веб-разработки.
Хорошо. Прости за это. Я обновлю свой вопрос сейчас.
Теренс Понсе