Ich sage euch: man muß noch Chaos in sich haben, um einen tanzenden Stern gebären zu können (“Also sprach Zarathustra”, Friedrich Nietzsche)
На «Бизнес-информатике» в ЮУрГУ учат Python: девять советов из практики
Полтора года назад, после восьми-летнего перерыва, с удовольствием возобновил курс «Программирование». Этому предшествовали два месяца отпуска, два месяца мучительных сомнений, как это делать сейчас, с чего начать, если для многих первокурсников это первый практический опыт изложения своих мыслей на языке программирования? За восемь лет многое изменилось, много воды утекло, особенно в ИТ. И хотя «родные» языки для меня «С» и «С++», на которых работа не прекращалась ни на один день (это как у музыканта, играть надо ежедневно и без перерывов, ни дня без строчки кода); и по-прежнему считаю, что уважающий себя программист должен их знать и ими владеть, всё-таки начал с Pythonએ. По всей видимости, перед прикладниками автоматизации процессов в экономико-управленческой сфере, перед бизнес-информатиками, которые для этого более всех подготовлены, никогда не будут стоять задачи по реализации своей операционной системы или управления техническими устройствами на уровне контроллера, где «С» и «С++» наиболее эффективны. Да, по прежнему считаю, что чистый «С» без «плюсов» — самый действенный инструмент воспитания алгоритмического мышления. Но в XXI веке скорость один из решающих факторов успеха в профессии. Поэтому этот промежуточный этап, наверное, становится лишней тратой времени. Будем формировать агоритмическое мышление на Pythonએ.
Python уже не один год уверенно занимает место среди самых популярных языков программирования. На нём можно писать любые программы, но сегодня основной сферой для него стал искусственный интеллект и всё, что с ним связано — data scienceએ, машинное обучениеએ, анализ данныхએ, искусственная нейронная сетьએ. Кроме того, Python популярен в веб-разработке. Среди новейших направлений Python является лидером в квантовых вычислениях и квантовом машинном обучении.
По сути, Python — это интерпретируемый язык высокого уровня, в котором возможно применять как объектно-ориентированный подход, так и функциональный. Этот язык достаточно лёгок для изучения, в отличие от C++, Хотя Python в какой-то мере является наследником C++, изучить его легче, чем «плюсы». В среднем, путь с нуля до джуниора занимает полгода‑год — в зависимости от того, изучали ли вы раньше какой-нибудь из C-подобных языков, а также от других фоновых знаний. Чтобы с самого начала подружиться с «питоном», вот вам ряд небольших советов, уже проверенных и подтверждённых практикой.
В начале обязательно изучите синтаксис Python и порешайте простые алгоритмические задачи. Без задач выученный синтаксис быстро вылетит из головы; они помогают закрепить теорию. И вот наш первый опыт освоения Python — «Практикум №1 — набиваем руку». Кроме того, здесь поможет сайт Pythontutor.ru.
Заведите себе аккаунт и репозитарий в системе контроля версий на Github. Именно здесь очень удобно хранить промежуточные и окончательные результаты своей работы, хвалиться своими достижениями перед сокурсниками и преподавателями, а также автоматически создать портфолио для будущего работодателя. Кроме того, вы сможете организовать здесь командную работу для реализации гениального стартапа или всем вместе написать код для шедевральной курсовой.
Уже на этапе изучения основ языка (или даже до этого) задумайтесь о том, чем вы конкретно хотите заниматься с помощью Python. Лучше сразу определиться, выбираете вы искусственный интеллект или веб-разработку, так как рано или поздно нужно будет понять, какие библиотеки стоит изучить — для каждой сферы применения нужен свой набор библиотек, своя экосреда программирования.
Обратите внимание на различные среды разработки. Самый простой путь — начать с «родной» учебной интегрированной среды разработки IDLE Python. Универсальная IDE для любых задач в Python — это PyCharm. Исследователю данных также нужно уметь работать в Jupyter Notebook и, возможно, стоит изучить Spyder.
Хорошо изучите простейшие структуры данных Python: списки, словари, множества. Это пригодится, когда нужно будет решить, как лучше обрабатывать данные в разных случаях. Обязательно ознакомьтесь с фундаментальными структурами данных, без них качественное программирование невозможно
Не пренебрегайте функциями, они очень помогают при реальном программировании. В Python можно не только использовать уже готовые, но и очень легко создавать свои функции. Если одинаковые части кода повторяются больше двух раз, лучше написать функцию. Это поможет не только сократить код, но и улучшить его восприятие.
Изучите продвинутые возможности Python: генераторы, декораторы, list comprehension, методы из библиотеки itertools и других библиотек. Это поможет вам впоследствии не изобретать велосипед.