Хочу изучать Python С чего начать
Хочу научиться программировать на Python. С чего начать?
- Планы обучения, 27 июля 2018 в 23:16
- Наташа Маркова
Рассказываем, как действовать, если вы решили освоить Python 3 с нуля: что учить в первую очередь, где брать знания и что делать дальше?
Зачем учить Python?
Python имеет ряд преимуществ:
- высокая популярность языка и использование в большом количестве проектов;
- сравнительно простой, но в то же время строгий синтаксис;
- множество доступных сред разработки, сервисов и фреймворков;
- средства для работы с электронной почтой, протоколами Интернета, базами данных и другие инструменты в стандартной библиотеке языка;
- востребованность Python-разработчиков на рынке труда.
Среди главных особенностей — динамическая типизация, проблемы с совместимостью версий, а также низкая скорость выполнения кода по сравнению с другими языками программирования. Если вы учите Python не первым языком, синтаксис может показаться вам непривычным.
Python для создания продуктов используют такие корпорации, как Google, Dropbox, Mozilla, Facebook, Yandex, Red Hat, Microsoft, Intel и другие.
Что учить?
Синтаксис
В первую очередь:
- операции с целыми и вещественными числами;
- типы данных;
- переменные, ветвления, стандартный ввод/вывод;
- логические операции, операции сравнения;
- условия: if , else , elif ;
- блоки, отступы;
- строки и символы;
- циклы while , for ;
- операторы break , continue ;
- установка и подключение модулей;
- списки;
- функции;
- словари;
- интерпретатор: установка, запуск скрипта;
- файловый ввод/вывод.
Дополнительно
IDE и редакторы кода
Писать в IDLE или Python Shell удобно только простой код, но для проектов лучше найти интегрированную среду разработки (IDE) или редактор кода. IDE включает в себя редактор с подсветкой синтаксиса и автодополнением, инструменты сборки, выполнения и отладки и другие функции. В большинстве редакторов есть подсветка синтаксиса и форматирование, выполнение и отладка кода. Как правило, этот инструмент работает быстрее IDE, но имеет меньше функций. Среди самых популярных платформ — PyCharm, Wing IDE, Komodo и другие. Больше вариантов — в нашем обзоре.
С распределенной системой управления версиями (Git) нужно познакомиться в начале обучения. Среди основных навыков — создание и перемещение файлов в каталогах, инициализация Git-репозитория и создание коммитов, а также настройка репозиториев в GitHub.
Где учить?
Попробуйте каждый из инструментов. После пары первых уроков будет ясно, подходит он вам или нет.
Учебники
Простой и краткий русскоязычный учебник для изучения основ от Devpractice
Популярный учебник Марка Лутца с примерами, советами и задачами
Другие хорошие книги по Python — в нашей подборке.
Онлайн-курсы на русском языке
Онлайн-курсы на английском языке
О том, как еще учить Python — в нашей статье.
Все выучил, что дальше?
Когда вы научились составлять простые программы, надо постараться понять, в какую сторону вы хотите двигаться. Для этого начните решать задания:
- тест на читабельность кода и тест на знание языка;
- проект Эйлера на английском и русском учит составлять правильные алгоритмы;
- игра с заданиями по уровням со встроенной средой программирования;
- квест в котором нужно составить алгоритм, чтобы понять, как перейти к следующему шагу.
В следующей части мы расскажем, как учиться дальше.
Для начинающих изучать программирование(Python)
Следует отметить, что python-лучший выбор для новичка, желающего приступить к изучению программирования. Однако это тема не для одного поста. Да и изучение программирования должно быть построено не на одном лишь языке, а включать себя несколько составляющих предметов, но этот пост именно для тех, кто знает что хочет учить питон, но не знает какую именно литературу ему выбрать.
1.Майкл Доусон – Программируем на python
Начать стоит именно с этой книги. Без излишнего углубления в язык рассматриваются его основы. Весь материал подкреплен множеством примеров, в основном связанных с игровой тематикой. Глава строится так: в самом начале дается программа, подобную которой вы сможете написать по прочтении главы, ну а по ходу изучения сталкиваешься с рядом более простых программ, приводящих к пониманию основной. Это буквально наводняет книгу примерами, и дает необходимую практику новичкам. Ну и разумеется подталкивает к созданию своих собственных программ.
Отличная книга, но слишком подробная для новичка, читать ее стоит в связке с практикой. Нечто вроде: вы захотели написать программу, но вам не хватает более глубоких знаний что бы сделать ее удобней/короче/красивей и т.д.
3.Марк Саммерфилд – Программирование на Python 3
Присутствует та же динамика что и в первой книге, нет лишней информации, однако она сложнее, все не так разжевано как у Доусона. Стоит отметить что после прочтения Доусона, освоение данной книги особо труда не составит.
4.Марк Лутц – Программирование на Python
Книга учит применять знания полученный в “Изучаем Python 4-е издание”, однако так же перегружена лишней для новичков информацией, воспринять которую будет куда проще после Доусона и Саммерфилда. Эта книга-некий финиш в начальном изучении языка. Освоив ее вы сможете перейти куда к более углубленным работам.
Надеюсь кому то поможет эта подборка. Приятного чтения и удачи в обучении.
для новичков в программировании можно так же посоветовать a byte of python, распространяется бесплатно, есть перевод на русский, ничего лишнего, только основы, дальше уже можно брать более обширную литературу, сам сейчас с нее начинал с нуля, зная только базовые понятия из школьного курса на паскале, вполне устраивает
вообще не лучший выбор, вот ни разу.
хороший выбор не для новичка, а для “быстро осилил пару книжек и пошел веслать джуном в бодишоп”
Определитесь с тем, чего вы достичь хотите. И выбирайте.
Хотите стать нормальным инженером? Пожалуйста, учите операционки, сети, алгоритмы и структуры. Начните с СИ и плюсов, изучите, как работает память, познакомьтесь с протоколами популярными. Потом вполне можете пересесть на более высокоуровневый язык вроде пистона или руби. Вас не будет пугать ни исходники питонячие, ни дизассемблер встроенный, ни асинхронность. Насмотредся я уже на питонистов, которые с трудом pdb юзают, про gdb вообще не стоит заикаться. дизассемблер питонячий – это что-то для хакеров, и т.д. Управление памятью? зачем, у меня ж 8 гигов оперативы, хватает.
хотите формошлепить – учите сразу Джангу, и будет вам счастье
Вот, вроде более-менее знающий человек. Спрошу у тебя совета.
Студент, четвертый курс информационной безопасности, два года до выпуска. Студент осознал, что не хочет заниматься защитой информации, но универ он закончит. У студента есть минимальные (один семестр) знания плюсов, баз данных, чуть большее знание сетей.
Студент последние два месяца полу-активно учил питон, так как ему понравился сей яп (особенно после плюсов) – синтаксис, функции и по мелочи всякое. Сейчас постегает азы ООП через питоновские классы.
Студент хочет постигнуть азы ООП, а потом попробовать себя в настоящем программировании, а не в академических задачках.
Далекие планы: джуниор/стажер широкого профиля, который путем проб и ошибок постепенно осознает в какой сфере он хочет продолжать работать.
Что именно искать, гуглить, изучать и щупать?
В интернете толком советов не наберешься. Или “Почитай Лутца, а потом бери более обширную литературу” без каких либо уточнений хотя бы о чем эта литература должна быть, или что-то совсем заумное, чего мой неокрепший ум еще не понимает.
Если более или менее умеете в плюсы и алгоритмизацию, то не нужен вам лутц и прочая “обширная литература”.
Начните с какого-нибудь онлайн курса типа coursera или udacity. Там и с примерами, и с задачками, и объясняют хорошо. В азы въедете гораздо быстрее, чем читая книги. Единственная годная книга, которую могу рекомендовать – Fluent Python by Luciano Ramalho. Но она не для начинающих, скорее для тех, кто постиг азы, и готов двигаться дальше 🙂
Если сравнивать с плюсами, в питоне ООП простое как два пальца.
Умеете в сети – напишите простенький многопоточный сервер, и кдиента к нему. Вот вам пусть и академическая, но хорошая задачка.
Сканер сети/портов на питоне. Простенький сканер уязвимостей. Да вам виднее, что в иб можно заавтоматить.
Из простого – бот для телеграма, бот для твиттера, парсер какого-нибудь популярного форума, парсер статей из вк или FB(вот это будет реальный изврат), бложек себе напишите на Django или Flask.
Самый быстрый способ стартовать – начать с того, что уже знакомо. Я изначально умел в Си и линух. минимально поднял питон – пошел кодить стриминговые сервера под arm железки. прокачал скилл и зп, решил попробовать Django. Поднял ее минимально за пару месяцев – устроился джанго макакой. через пару лет надоело до дури, сейчас кодю для софт для кластеров – чистый питон + SaltStack, Ansible, Celery время от времени.
Как начать программировать на Python: экспресс-гайд
Язык Python существует с восьмидесятых годов, но при этом динамично развивается до сих пор. Он заложил основы объектно-ориентированного программирования и повлиял на многие более поздние языки, и до сих пор сохраняет свои позиции. Выясняем, как он появился и как начать с ним работать.
Python — высокоуровневый и универсальный язык программирования. Он применяется и в веб-разработке, и в работе тестировщиков, и при создании сложных систем, игр и различных приложений. О возможностях языка говорит то, что он использовался, например, при создании YouTube, Instagram и Facebook и до сих пор активно применяется их программистами.
Несмотря на то, что даже на логотипе языка Python изображены змеи, свое название он получил не в их честь. Его создатели стремились сделать язык не просто понятным и удобным, но и забавным. К этой мысли отсылает аллюзия на абсурдистско-юмористическое телешоу «Летающий цирк Монти Пайтона», популярное в то время, когда разработчики были детьми и подростками.
Python входит в топ-5 самых популярных языков программирования согласно индексу TIOBE. Всерьез конкурировать с ним сегодня может только Ruby, а в сфере веб-разработки — PHP. Язык хорошо масштабируется в зависимости от стоящих перед программистом задач. К его недостаткам порой относят относительно невысокую скорость обработки команд, но в прикладном программировании это не слишком принципиально.
Философия языка, сформулированная в The Zen of Python, говорит, что красивое лучше уродливого, простое лучше, чем сложное, и призывает к созданию понятных и прозрачных решений.
The Zen of Python
Красивое лучше, чем уродливое
Явное лучше, чем неявное
Простое лучше, чем сложное
Сложное лучше, чем запутанное
Плоское лучше, чем вложенное
Разреженное лучше, чем плотное
Читаемость имеет значение
Особые случаи не настолько особые, чтобы нарушать правила
При этом практичность важнее безупречности
Ошибки никогда не должны замалчиваться
Если они не замалчиваются явно
Встретив двусмысленность, отбрось искушение угадать
Должен существовать один и, желательно, только один очевидный способ сделать это
Хотя он поначалу может быть и не очевиден, если вы не голландец
Сейчас лучше, чем никогда
Хотя никогда зачастую лучше, чем прямо сейчас.
Если реализацию сложно объяснить — идея плоха
Если реализацию легко объяснить — идея, возможно, хороша
Пространства имён — отличная штука! Будем делать их больше!
Python имеет понятный и изящный синтаксис, позволяющий быстро его освоить. В то же время язык богат сторонними библиотеками. Огромное количество программных решений, которые могут вам понадобиться, можно найти в них уже в готовом виде.
Кому подойдет Python?
Базовые знания языка понадобятся, если вы хотите заниматься quality assurance, то есть тестировать программные продукты перед запуском и их новые функции по мере внедрения. Здесь Python используется при автоматизации процесса тестирования.
Более глубокие знания языка позволят вам устроиться программистом. Спрос на Python очень велик как в российских, так и в международных компаниях — от небольших стартапов до крупных корпораций.
Благодаря очевидности синтаксиса (то есть понятности структуры) Python хорошо подходит на роль первого языка, с которого можно начинать свой путь в программировании.
Однако помните: «чистого» Python начинающему будет недостаточно. В комплекте с ним стоит освоить HTML и CSS, а знание принципов работы с базами данных, например MySQL будет просто необходимо. Для первичного трудоустройства также может оказаться полезным знание еще какого-нибудь языка программирования, например, PHP.
Как начать изучать Python?
На фоне других языков Python выгодно выделяется наличием большого количества руководств и других обучающих материалов. Начинать знакомство с языком стоит с четвертого издания книги Марка Лутца «Изучаем Python» и его же «Программирования на Python».
Параллельно с этим стоит ознакомиться с документацией языка на его официальном сайте. Часть этой информации можно найти и в русских переводах. Но если вы всерьез решили заняться программированием, лучше сразу начинать читать оригинальные документы.
Важным будет и знакомство с принципами работы Django — основного фреймворка для Python. В процессе изучения языка вам потребуется также освоить работу с препроцессорами LESS и системами управления структурами DOM.
Разворачиваем среду разработки
Для того, чтобы начать работать с Python, вам потребуется установить его с Python.org.
Следующий шаг — развертывание фрейморка Django (его можно скачать с официального сайта).
После этого следует создать репозиторий, в котором будет осуществляться работа, и установить одну из систем контроля версий. После этого можно приступать непосредственно к практической части.
А как же практика?
С полученным из книг теоретическим багажом можно приступать к программированию. Если вам не удается решить, за что же взяться для практического закрепления своих знаний, воспользуйтесь одним из публично доступных задачников по Python, например, представленным на Google’s Python Class.
На начальном уровне стоит освоить создание несложных сайтов (а если вы чувствуете себя более уверенно, можно собрать собственный движок, например, CMS для блога). Еще одним вариантом интересной и перспективной задачи для начинающего Python-программиста может стать создание чат-ботов.
Если вы решили пройти онлайн-курсы, в комплекте с обучающими материалами вам станут доступны и учебные задачи (а преподаватели и менторы курсов помогут с ними разобраться). Интерактивные вебинары, обилие видеоматериалов и примеров кода, а также возможность задавать ставящие вас в тупик вопросы профессионалам — хороший аргумент в пользу такого выбора.
Курс «Python-разработчик» от Skillbox позволит выучить язык с самых азов и до уровня джуниор-программиста, запустившего свой первый реальный проект.
- Живая обратная связь с преподавателями
- Неограниченный доступ к материалам курса
- Стажировка в компаниях-партнёрах
- Дипломный проект от реального заказчика
- Гарантия трудоустройства в компании-партнёры для выпускников, защитивших дипломные работы
Средняя рыночная зарплата начинающего Python-программиста сегодня — от80 до100 тысяч рублей. Джуниор-вакансии в этой области предлагают главным образом крупные компании. А это означает, что вы фактически продолжите там свое обучение, но уже на реальных задачах и под началом опытных разработчиков с богатой практикой.
Источники:
https://tproger.ru/curriculum/python-how-to-learn/
https://pikabu.ru/story/dlya_nachinayushchikh_izuchat_programmirovaniepython_4391032
https://skillbox.ru/media/code/kak_nachat_programmirovat_na_python_ekspress_gayd/