Python более популярен, чем когда-либо, и используется повсеместно, начиная с серверных веб-серверов, заканчивая разработкой игр и всем, что между ними. Python является настоящим языком общего назначения и быстро становится обязательным инструментом в арсенале любого уважающего себя программиста.
Но Python не популярен только потому, что он популярен. Его легко выучить, он читается как псевдокод и является чрезвычайно гибким. Тем не менее, изучение любого нового языка может быть непростой задачей, и поиск подходящих мест и людей — это залог успеха. Вот где это руководство может помочь. Это ваш план для того, чтобы сделать Python легким, увлекательным и полезным для изучения.
Ищете ярлык?
Эта статья предлагает множество ресурсов, но если вы предпочитаете что-то более структурированное, курс Envato Введение в Python предоставляет вам полный набор видеоуроков, которые помогут вам быстро освоить Python всего за 5 долларов.
Задание 1: начать с основ
На момент написания этой статьи в обращении было две основные версии Python: Python 2.7 и Python 3.2. То, что вы выбираете для изучения, не имеет большого значения, так как различия будут минимальными, особенно для начинающих. Но вы должны знать, что, хотя Python 2 имеет гораздо больше поддержки сторонних разработчиков, Python 3 является основным направлением разработчиков, разрабатывающих язык. Выбор за вами, но если ваш код действует не так, как любой другой учебник, убедитесь, что вы используете ту же версию Python, которая использовалась в учебнике.
Учебник для непрограммистов Wikibooks по Python
Wikibooks — это всегда хороший источник для изучения чего-то нового, и Python не исключение. Здесь вы найдете основательную и конкретную серию руководств, которые научат вас веревкам Python. Это не становится слишком техническим, и вы можете быстро приступить к написанию чего-то полезного и полезного. Поэтому я рекомендую этот сайт как лучшее место для начала вашего путешествия по Python.
Официальный урок Python
Вы не найдете лучшего источника информации, чем официальная документация python.org. Однако, если вы хотите прыгнуть прямо, как я уверен, многие из вас, это может быть не лучшим местом для начала.
Содержимое имеет тенденцию быть более техническим, чем вики-книги, которые будут полезны позже по мере продвижения по языку. Но для новичка это может помешать тому, что на самом деле является очень простым и красивым языком.
Для новичков наибольшее различие между Python 2 и Python 3, скорее всего, заключается в том, что Python 2 может использовать print
без скобок. Python 3 требует скобок, но это все.
Задание 2: учебные пособия и скринкасты
TheNewBoston по программированию на Python
Плейлисты NewBoston всегда великолепны, и вы можете изучать целый ряд языков. «Баки» — отличный инструктор, потому что он соблюдает действительно хороший баланс между забавой и легкостью для прослушивания. Я настоятельно рекомендую любой из его плейлистов, особенно его плейлист Python. Он предполагает нулевые предварительные знания программирования и оставит вас с твердым знанием языка.
Nettuts + Python с нуля
Немного ближе к дому — вступление Джайлса Лавелла к Python. Как и в серии TheNewBoston, Лавель также предполагает нулевой опыт программирования.
Если вы хотите увидеть какие-то реальные приложения ваших приложений или хотите нацеливаться на веб-разработку с Python, эта серия может быть для вас.
Скринкаст поможет вам с нуля построить динамический сайт, используя веб-фреймворк Python под названием Django.
Скриншоты Python от ShowMeDo
StackOverflow не просто полон ошибок и проблем новичка.
ShowMeDo имеет огромный каталог видео, связанных с Python. Хотя это может быть не самым удобным для пользователя опытом, видео варьируется по уровню от абсолютного новичка до самых продвинутых техник Python. Это стоит проверить.
Создайте бота Python, который может играть в веб-игры
Этот урок довольно специфичен с точки зрения того, что вы собираетесь изучать, и я не рекомендую его для начинающего. Я чувствую, однако, что это стоит упомянуть. В этом руководстве Крис Киль показывает, как создать очень интересного бота на Python, который будет играть в простую игру для вас. Учебник действительно показывает силу Python; его можно применять для выполнения повседневных повторяющихся задач, которые могут возникнуть на вашем компьютере.
Задание 3: Бесплатные электронные книги!
Трудно превзойти хорошую книгу, когда вы пытаетесь узнать что-то новое, и с большим сообществом, которое развилось вокруг языка Python, существует множество бесплатных высококачественных электронных книг на выбор. Ниже приведен краткий список некоторых из лучших. Вы можете скачать бесплатную версию электронной книги для каждого из них, или вы можете купить физическую книгу (или пожертвовать), если хотите поддержать автора, что, я уверен, они будут очень благодарны.
Изучите Python трудный путь
Несмотря на название, Learn Python The Hard Way делает изучение Python невероятно простым — таким, каким оно должно быть! В этой книге Зед А. Шоу работает с нуля, давая вам подробное и всестороннее руководство по Python, не разбираясь в фактическом кодировании. Шоу неформальный, но тщательный, что делает книгу легкой, но полезной для чтения.
Подумайте Python: как думать, как ученый
Вы не найдете лучшего источника информации, чем официальная документация python.org.
Как можно предположить из подзаголовка «Как думать, как компьютерный ученый», Think Python остается немного ближе к теоретической стороне вещей. Это может немного расстроить начинающего, но книга стоит того, чтобы ее прочитать в отношении теории алгоритмов и концепций высокого уровня.
Изобретите с Python
Если «учиться на собственном деле» — это ваша вещь, то создание собственной игры окажется полезным опытом! В этой книге Al Sweigart не предполагает предварительных знаний Python и проводит вас полностью к созданию собственной игры. Учитывая, что книга ориентирована на разработку игр, книга может начать развиваться немного быстрее для начинающего. Позже в этой статье я упоминаю аналогичную книгу, в которой он предполагает предварительные знания Python. Если вы чувствуете, что хорошо разбираетесь в языке, тогда другая его книга могла бы стать для вас лучшим источником.
Книга Джанго
Если вы хотите изучать Python для веб-разработки, вы, вероятно, будете использовать фреймворк Django. Эта книга предполагает свободное владение Python, но учит Джанго, как будто вы новичок в фреймворке. Книга Django настолько хороша, насколько это возможно, и будет неоценимой для любого начинающего веб-разработчика.
Книги Питона
Если у вас недостаточно информации для чтения или вам нужна книга на определенную тему, перейдите по этой ссылке. Люди на python.org составили обширный список книг, отсортированных по сложности и темам.
Задание 4: познакомьтесь с StackOverflow
Тысячи разработчиков сталкивались с каждой проблемой, с которой вам придется столкнуться. StackOverflow — отличный ресурс, где разработчики находят решения своих проблем. Если вы столкнулись с ошибкой, которую вы не знаете, как исправить, выполните поиск в StackOverflow. Вы, скорее всего, найдете решение и то, как другие люди решили свою проблему.
Но StackOverflow не просто полон ошибок и проблем новичка; Есть некоторые действительно умные и полезные люди, которые используют сайт — учиться у них!
Взгляните, например, на скрытые возможности потока Python .
Многие из советов и приемов, которые вы видите здесь, могут не быть охвачены во многих официальных руководствах, но они будут чрезвычайно полезны для среднего и продвинутого пользователей Python.
Задание 5: Проект Эйлера
Project Euler (произносится «Oil-er», чтобы потом вас немного смущать) является одним из моих любимых веб-сайтов. После создания аккаунта вы можете пройти через ~ 400 задач на сайте. Каждая задача — это около 50% математики и 50% программирования и, на мой взгляд, самый полезный способ узнать больше по любому предмету.
Проблемы начинаются с лёгкости, чтобы проверить ваши знания языка, но с трудом справляются даже с самыми опытными программистами. В конце концов, сложность проблем заставит вас найти наиболее эффективный алгоритм — то есть, если вы не хотите ждать часами, чтобы вычислить ответ.
Ничто не превратит вас в мастера программирования быстрее, чем заставить себя искать самые быстрые и эффективные решения проблем Project Euler.
Когда вы решаете новую проблему, вы получаете доступ к ветке форума этой проблемы, где многие люди обсуждают свои решения и идеи друг с другом. Многие решения на последующих страницах ветки будут на Python. Это действительно ключ к развитию вашего мастерства программирования. Если есть кто-то, у кого решение быстрее, чем у вас, найдите время, чтобы проанализировать его, чтобы увидеть, где вы могли бы улучшить свое собственное решение. Со временем вы поймете все хитрости торговли и расширите свои знания Python значимым и полезным способом.
Кроме того, есть также несколько действительно хороших блогов, которые решают проблемы Project Euler в Python. Если вы застряли на проблеме, то не стыдно иметь пик в работе других разработчиков, если вы собираетесь учиться на ней. Вот два моих любимых:
Задание 6: построить игру
Немногие вещи более приятны, чем создание собственной игры.
Немногие вещи более приятны, чем создание собственной игры. Это может быть крутой курс обучения, но оно того стоит и очень полезно. PyGame является самой известной игровой библиотекой для Python, и вы сможете найти множество бесплатных учебников по ней. Вот некоторые из лучших уроков PyGame.
Официальная документация PyGame
Как и в случае с оригинальными учебниками по Python, разработчики PyGame также имеют собственную вступительную документацию. Но они могут быть излишне техническими, если вы хотите прыгнуть и начать строить свою игру. Однако документация для разработчиков всегда будет вашим лучшим источником информации; Итак, я все же рекомендую вам ознакомиться с сайтом.
Изобретите с Python (с PyGame)
Эта бесплатная электронная книга Аль Суигарта проходит через библиотеку PyGame, которая поможет вам с нуля создать пару игр для себя. Простые игры предоставят вам идеальную платформу для запуска ваших собственных проектов, если вы так склонны. Свигарт предоставляет подробные и подробные комментарии по всему своему коду, чтобы помочь вам учиться по ходу дела.
Учебник по разработке компьютерных игр TheNewBoston
Это еще один плейлист от TheNewBoston. Он служит хорошим введением в PyGame. Он предполагает нулевые знания и дает вам хорошее представление о библиотеке PyGame, но в отличие от руководства InventWithPython, это более точно и не приведет к созданию собственной полноценной игры.
Задание 7: Познакомьтесь с некоторыми общими библиотеками и инструментами
Python — это язык общего назначения, который может делать практически все; так что, конечно, существует бесконечный запас библиотек и инструментов. Вот некоторые из самых популярных.
PyPy
Если вы когда-нибудь захотите почистить HTML для получения какой-либо информации … BeautifulSoup сделает все это за вас и добавит годы вашей жизни.
Если вы выполняете некоторую нагрузку на процессор и обнаруживаете, что Python является узким местом, то, возможно, вам нужен PyPy. PyPy — это альтернативный компилятор для Python, который действительно может ускорить вашу обработку.
NumPy + SciPy
Эти два обычно идут рука об руку (SciPy зависит от NumPy). Если вы делаете какие-то серьезные вычисления для математических или научных исследований, то эти две библиотеки станут вашими лучшими друзьями. NumPy и SciPy расширяют математические функции и возможности Python и могут значительно ускорить выполнение некоторых ваших задач.
BeautifulSoup
BeautifulSoup действительно красив. Если вам нужно почистить HTML-страницу для получения какой-либо информации, вы будете слишком хорошо знать разочарование и выпадение волос, которые оно может принести. BeautifulSoup сделает все это за вас и добавит годы вашей жизни. Настоятельно рекомендуется и весело поиграть с.
Библиотека изображений Python
Библиотека изображений Python (PIL) — это обширная библиотека, которая отлично подходит для всего, что связано с изображениями. Если вам нужно манипулировать изображением, скорее всего, PIL может сделать это за вас.
Джанго
Как упоминалось ранее в статье, инфраструктура Django — это то, что вы, вероятно, будете использовать, если ваша цель — веб-разработка. Это наиболее распространенный веб-фреймворк для Python, а также имеет большинство доступных учебных ресурсов.
Задание 8: Примите участие в проектах с открытым исходным кодом
После того, как вы освоите язык, умение читать и понимать код других людей всегда является важным навыком — не говоря уже о том, что это действительно отличный способ обучения.
По этой причине проекты с открытым исходным кодом великолепны. Github или Bitbucket — места для этого. Не беспокойтесь о людях, которые оценивают ваш код, вам не нужно сразу вносить свой вклад. Вы всегда можете раскошелиться на проект, самостоятельно поработать над ним и посмотреть, как все работает. Если вам случится увидеть что-то, что, по вашему мнению, могло бы быть улучшено, отлично! Перейти на это и представить свое улучшение. Вот для чего нужен открытый исходный код.
Вывод
Я надеюсь, что смог предоставить вам прочную базу знаний Python. Если есть другие интересные места, которые, по вашему мнению, должны были быть включены в этот учебный план, дайте мне знать в комментариях ниже, чтобы помочь другим!