Як дізнатися Python від нуля до веб-розробки? [зачинено]


48

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

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

Я не поспішаю робити веб-додатки в Python, тому мені дуже хочеться це вивчити, щоб не залишити жодних прогалин у моїх знаннях щодо технологій веб-розробки в Python. Чи є якісь книги, ресурси чи методи, які допоможуть мені в моєму починанні? У якому порядку я повинен їх робити / читати?

ОНОВЛЕННЯ:

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


6
+1 за не поспішати. Це найкращий спосіб вивчити мову, спробувати речі, але не занурюватися у виробничий проект, щоб вивчити мову.
Кріс

Відповіді:


49

6
Чудовий список! Я чув, що Dive Into Python чудово підходить для досвідчених програмістів, які починають працювати на Python.
Теренс Понсе

Зараз працюючи через занурення в Python, це швидкий темп і фантастичний ресурс для існуючих програмістів, які хочуть вивчити мову! Я пропоную працювати з chp 2 і 3, щоб побачити, як це відбувається, що буде дуже добре орієнтуватись на синтаксис та типи даних :)
інвертувати

@Terence: Я можу погодитися, вважаючи, що саме це я і зробив. Ця книжка прийшла з нижчого рівня 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. Джанго та інші рамки з повним стеком, безумовно, значно полегшать ваше життя, але в цілому залишить у вас неповне відчуття, ніби ви багато чого не навчилися. Колба IMHO - це найдивовижніший фреймворк у python на даний момент, але так, це лише моя думка.


4

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

Вони досить схожі на Ruby Koans (багато його безпосередньо портували) і досить круті.


1
Ви б не хотіли пояснити детальніше про те, що це робить, і чому ви рекомендуєте це відповісти на поставлене запитання? "Відповіді лише на посилання" не дуже вітаються на Stack Exchange
gnat

3

http://learnpythonthehardway.org

Це безкоштовна онлайн-книга, яка містить серію з 52 уроків пітона.

Починаючи з уроку 1 і переходячи до уроку 52, ви повинні достатньо навчитися вважати себе грамотним програмістом з мови пітона.

Кожен урок містить приклади коду, на який слід ввести час та ВПУСК, а потім НАЗАД, щоб побачити, як це змінює результати.

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


1
Ви не проти пояснити це детальніше - як і чому він відповідає на поставлене запитання? "Відповіді лише на посилання" не дуже вітаються на біржі стека
gnat

1
сподіваємось, вищесказане відповідає вашим потребам. дякую за відгуки
Алекс 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.
marco-fiset

1
Дякую Марко. Я також скоригував відповідь, щоб відобразити цю точку.
Алекс C

0

Веб-розробка завжди повертається до одного: а це браузер. Вивчіть HTML, CSS та JavaScript дуже добре, і це послужить вам при будь-якій зміні мови.

Www.w3schools.com - прекрасне місце для вивчення цих речей, але коли мова заходить про CSS, його часто дуже корисно просто сісти і пограти з ним. Знайдіть класний веб-дизайн та втіліть його в HTML вручну. Це дуже необхідний навик, якщо будь-який із кодів вашого сервера призводить до HTML.

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

Однак починати з джанго не може бути найкращою ідеєю. Багато рішень, які вони приймали при розробці рамки, мали б сенс лише в тому випадку, якщо ви зіткнулися з проблемами, які вони вирішують з перших рук. Моєю першою мовою в Інтернеті був php, і найефективнішим способом я зрозумів кращі практики - писати хитрий, крихкий код, розуміючи, що є проблема, і шукати рішення. Якби я розглядав рішення, перш ніж зрозумів проблему, я не зміг би її ефективно застосувати.

Якщо ви готові витратити час на це, можливо, починаючи з менш абстрактного набору технологій, таких як php, може бути чудовим досвідом навчання.


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

Можливо, вам слід уточнити свою публікацію, оскільки ви говорите, що у вас є базовий досвід веб-розробки .... CSS, HTML і JavaScript можуть бути дуже складними та потужними. Я просто намагався зробити акцент на тому, наскільки вони важливі для інвестування будь-якої веб-розробки.

Добре. Вибач за те. Я зараз оновлю своє запитання.
Теренс Понсе
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.