Начало изучения python
Содержание:
- Ja.NET — Java для .NET
- PHP: начало
- Как пользоваться ADB run
- Как открыть Jupyter Notebook
- Советы для начинающих
- Решение: как выучить Python с нуля
- Запуск программ от имени администратора и отключение UAC
- Silverlight 2.0 — с чего начать?
- Вышло обновление MacOS 10.6.2
- Курсы с преподавателем (цена по возрастанию)
- Определитесь для чего изучать python
- Что нужно знать Python-разработчику?
- Webbynode — VPS для разработчиков
- План курса
- Практика — главная составляющая обучения
- Что такое Python? Он подходит только для Data Science?
- Наследование: поведение и характеристики
- Читайте также
Ja.NET — Java для .NET
Как скрестить ужа с ежом? Эту, казалось бы, анекдотичную задачу довольно неплохо решили разработчики проекта Ja.NET. В результате их кропотливого труда на свет появилось уникальное творение — JVM, работающая под Microsoft .NET Framework. Разработчики заявляют о частичной совместимости с Java SE 1.5.
На этом месте разработчики со стажем, поморщившись, вспомнят про полумертвенький J#, впоследствии практически заброшенный «родителями». Но Жанетт — в отличие от той поделки — девушка серьезная, и подход демонстрирует более вдумчивый. В ее родителях числятся именитые проекты: Eclipse JDT compiler, Mono’s Cecil, и Apache Harmony. В отличие от своих аналогов, Ja.NET представляет из себя полноценную виртуальную ява-машину, работающую на основе .NET. Кроме того, компилятор генерирует родной код MSIL, что положительно сказалось на производительности.
PHP: начало
Желание освоить PHP появилось, когда я начал заниматься собственными информационными сайтами. Лет пять назад, без кучи качественных современных плагинов для WordPress, работать всерьез, не имея навыков разработки было непросто. Постоянно возникали мелкие проблемы, для решения которых приходилось заказывать услуги на фрилансе или задавать вопросы на форумах.
Например:
Задача абсолютно элементарная для любого, кто уделил изучению программирования хотя бы пару недель.
Подлил масла в огонь и неудачный проект, где на подготовку ТЗ и контроль результатов ушло невероятное количество времени и сил. Да я чаще переписывался с программистом, чем с женой! Требовалось поменять ситуацию.
Как пользоваться ADB run
Как открыть Jupyter Notebook
Когда Jupyter Notebook установлен, следуйте этим 4 шагам каждый раз, когда нужно будет его запустить:
- Войти на сервер! Для этого нужно открыть терминал и ввести следующее в командную строку:
и пароль.
(Например: )
- Запустить Jupyter Notebeook на сервере с помощью команды:
- Получить доступ к Jupyter из браузера! Для этого нужно открыть Google Chrome (или любой другой) и ввести следующее в адресную строку:
(Например: )
На экране отобразится следующее:
Нужно будет ввести “password” (пароль) или “token” (токен). Поскольку пароля пока нет, сначала нужно использовать токен, который можно найти в окне терминала:
- Готово! Теперь нужно создать новый Jupyter Notebook! (Если он создан, осталось его открыть).
Вот и все. Запомните порядок действий, потому что их придется повторять часто в этом руководстве по Python для Data Science.
Советы для начинающих
- Заранее подумайте, где вы хотите работать. Например, в области веб-разработки или анализа данных. От этого зависит, какие библиотеки и дополнительные технологии потребуется учить. Их в ИТ много, поэтому объять все не получится.
- Начните с изучения синтаксиса и решения простых задач. Чем больше практики, тем лучше.
- Чтобы добиться прогресса, рекомендуем выделять на обучение минимум 4 часа в неделю. Например, два раза заниматься по два часа. Больше тоже можно.
- Посмотрите вакансии на сайтах, где ищут программистов. Как правило, в них указывают, что необходимо знать и уметь для получения работы. Составьте список того, что вам потребуется для успешного прохождения собеседований.
- Не расстраивайтесь, если что-то на старте не получается. Это нормально. Начинать любое дело тяжело, но потом вы втянетесь, и все пойдет быстрее.
-
Старайтесь писать простой и понятный код. Посмотрите, что такое ООП и как его использовать.
Решение: как выучить Python с нуля
Если вы хотите увеличить свои шансы на успешное изучение Python, то нужно использовать подход, который поможет избежать эти трех ловушек. Python нужно не просто учить, его нужно учить правильно. Следующие шаги помогут в этом:
Понять, зачем вы учите Python
Все вытекает из этой мотивации и очень важно понимать, изучаете ли вы , робототехники, разработки игр или чего-то еще.
Изучить основы синтаксиса языка. Именно основы! Не нужно учить все
Изучение синтаксиса — важная часть, но она может быть скучной, и желательно минимизировать потраченное на нее время. Главное — взять то, что понадобится для начала работы над собственными проектами. Этот этап будет еще проще, если удастся найти ресурсы или обучающие материалы, которые рассказывают основы, но с упором на ту сферу, которая интересует в первую очередь. Например, при изучении data science полезно использовать реальные данные в своих экспериментальных проектах.
Создавать проекты с четкой структурой. В этом плане помогут руководства, в которых расписаны все шаги. Важно начать работать над интересующим проектом как можно раньше.
Создавать уникальные и все более сложные вещи по мере приобретения новых способностей. После работы над несколькими проектами у вас должны появиться идеи для собственных. Приступайте к ним, даже если кажется, что навыков недостаточно. Они появятся в процессе работы.
Нужно всего лишь разбить проект на маленькие и понятные часты. Предположим, есть идея для приложения, которое будет анализировать настроение в Твиттере. Это очень крупный проект, но его можно разделить на элементы и работать с каждым по отдельности. Сначала нужно разобраться, как получить доступ и использовать API сайта. Дальше нужно переходить к фильтрованию твитов и сохранению тех, которые потребуется проанализировать. Потом — очистить данные и искать методы, которые подойдут для анализа настроения.
Такой подход подойдет для проекта любого типа. Не обязательно знать все, прежде чем браться за работу. Разбейте ее на части, учитесь и совершенствуйтесь в процессе.
Много времени уйдет на поиск ответов в Google, StackOverflow и официальной документации Python, и это абсолютно нормально! Один из не-секретов индустрии в том, что даже профессионалы проводят большую часть времени в поисках ответов на свои вопросы.
Это продолжение четвертого шага, которое предусматривает увеличивающуюся сложность с каждым новым проектом. Если же вы с самого начала знаете, как реализовать каждую из частей проекта, то это, наверное, не лучшая идея — будет слишком легко, а процесс ничему не научит.
Важно, чтобы задания были сложными, но не казались невозможными. При изучении игровой разработки не стоит после первой «Змейки» переходить к разработке трехмерной RPG в открытом мире
Это слишком сложно. Но игра должна быть сложнее той же «Змейки».
Запуск программ от имени администратора и отключение UAC
UAC — система контроля учетных записей пользователей Windows, созданная для контроля за разграничением прав доступа пользователей к функциям операционной системы и предотвращения несанкционированного запуска различных приложений в «фоновом» режиме.
Повышенными привилегиями в системе обладает только администратор. И только он может запускать многие системные службы и установленные на компьютере приложения! По этому, если у вас не запускается какая-либо программа, попробуйте ее перезапустить с административными правами. Заодно, можно отключить систему UAC, чтобы не мешала в дальнейшем.
Подробнее о том, как это делается, можно прочитать в руководстве «Запуск от имени администратора, отключение UAC «.
Silverlight 2.0 — с чего начать?
Сколько я знаком с технологией Flash, столько же я хотел научиться ее использовать. Мне хотелось уметь рисовать мультики, интерактивные сайты, игры, работающие прямо в браузере.
Я ставил Macromedia Flash, качал уроки, шаг за шагом проходил их, но бросал, не дойдя и до половины. Отсутствие дизайнерских навыков давало себя знать. В общем я уже смирился с мыслью что не дано мне стать видным флешером. И невидным – тоже.
Недремлющая компания Microsoft примерно с год назад представила свой вариант решения проблемы создания «красоты» в Web под названием Silverlight. Первая его версия была мною скачана, осмотрена и для собственного применения забракована. По сути она мало чем отличалась от обычного Flash, «только в профиль».
Но свежий ветер маркетологии принес к нам из-за морей свежую весть – оказывается, будущее будет за так называемыми Rich Internet Applications, то есть (грубо говоря) программами, которые будут одинаково работать как онлайн, так и при полном этого самого онлайна отсутствии. И самое интересное, что уже популярный и знакомый AJAX – это совсем-таки неудобно для создания RIA, а нужно нам нечто совсем другое. Вариантов «другого» оказалось немало. Многие компании ринулись строить «другое» на базе того что у них уже было. Так появились JavaFX, Adobe AIR, Microsoft Silverlight 2.0 и другие…
Из всего вышеперечисленного, именно Silverlight 2.0 пришелся мне по душе. Он разительно отличается от первой версии и предоставляет куда больше возможностей. При этом, даже такой закоренелый программист как я – может его с легкостью использовать без знаний о дизайне.
Вышло обновление MacOS 10.6.2
Стало доступно для загрузки долгожданное обновление MacOS X за номером 10.6.2. Данное обновление рекомендуется установить всем пользователям ОС Mac OS X 10.6 — 10.6.1 Snow Leopard. Оно содержит общие исправления для операционной системы, которые повышают стабильность, совместимость и безопасность компьютера Mac.
Основные (самые долгожданные) изменения включают:
- решена проблема, приводившая к удалению данных при использовании гостевой учетной записи;
- решена проблема, приводившая к неожиданному завершению текущего сеанса пользователя;
- решена проблема с отображением в результатах поиска Spotlight контактов Exchange;
- повышена стабильность работы дополнений к меню;
- в Cловаре решена проблема, возникавшая, если в качестве основного языка системы использовался иврит;
- звуковой эффект срабатывания затвора во время сохранения снимка экрана;
- решена проблема с жестом смахивания четырьмя пальцами;
- решена проблема с добавлением изображений в контакты Адресной книги;
- решена проблема с подключением мониторов к адаптерам DVI и Mini DisplayPort;
- решена проблема, приводившая к тому, что после перезагрузки настройки яркости могли не сохраняться;
На самом деле изменений еще масса, и более подробно о них можно почитать на сайте Apple.
В русской версии страницы загрузок обновления еще нет, а в английской — .
Курсы с преподавателем (цена по возрастанию)
Онлайн-курс Introduction Python от IT Hillel
Курс для тех, кто совсем не знаком с основами программирования или не знает, в какой области ему хочется работать. Вы познакомитесь с устройством компьютера, освоите основы основ программирования и на начальном уровне изучите Python. Перед началом занятий можно пройти бесплатную консультацию и технический тест с базовыми вопросами на уровень владения ПК.
Профессия Python-программист от «Хекслет»
В этой школе вам сразу дается доступ ко всем курсам профессии. Вы можете пройти все за месяц, а можете работать в спокойном темпе. Со студентами работают менторы, и как результат обучения — у вас в кармане портфолио с 4 полноценными проектами. Как бонус — помощь в трудоустройстве.
Основы программирования на Python от Центра Обучающих Технологий
Вы изучите с синтаксис языка Python, типы данных и управляющих конструкций, модули обработки данных. Поймете, как следует взаимодействовать с базами данных и познакомитесь со средствами сетевого взаимодействия и проектирования графического пользовательского интерфейса.
Python для анализа данных от SkillFactory
На этом курсе вы научитесь обрабатывать большие объемы данных, работать с API, парсить, создавать отчеты и автоматизировать сбор данных в интернете. Вам предоставят онлайн-доступ к вебинарам, упражнениям и сообществу студентов.
Дистанционный курс Python-разработчик от TeachMeSkills
На этих курсах в небольшой группе вас обучат процедурному и объектно-ориентированному программированию. А также поднатаскают в разработке приложений на фреймворке Django, работе с базами данных и серверами.
Как стать Python-разработчиком от «Яндекс.Практикума»
За 9 месяцев учебы вы освоите Python и соберете портфолио из 6 проектов. В вашем распоряжении будут онлайн-тренажер, множество задач для самостоятельной работы и постоянная поддержка наставников.
Определитесь для чего изучать python
Каждый, кто хочет изучать Python, еще до начала обучения должен решить, зачем это нужно. Это поможет точнее определиться со специализацией, и ускорит процесс обучения. Также поможет понять, нужны ли дополнительные знания из других языков программирования.
Например, если хотите стать веб-разработчиком, помимо Python изучите HTML, CSS и основы JavaScript. Это три разных языка, но они помогут вам стать Full-stack разработчиком.
Тем кто планирует заниматься анализом данных, могут потребоваться знания SQL, R и другие инструменты: например, Tableau или Elastic Search.
Путь в мир программирования — это полноценное путешествие, но понимание того, куда вы хотите двигаться, поможет спланировать первые шаги.
Что нужно знать Python-разработчику?
Пласт базовых знаний и навыков включает в себя:
- основные навыки пользования терминалом;
- понимание принципа работы IDE;
- навыки работы с Git;
- менеджер пакетов pip;
- базы данных (ORM, CRUD-операции);
- принципы ООП;
- синтаксис языка Python;
- алгоритмы и структуры данных;
- составление документации;
- модульное тестирование.
Разумеется, недостаточно реализовать вывод «Hello World», чтобы разобраться в языке программирования Python, но для более глубокого понимания сперва стоит определиться с направлением, в котором вы хотите работать. Исходя из этого, подбираются дополнительные инструменты для изучения.
Веб-разработка
Здесь особенно популярны такие Python-фреймворки, как Django и Flask: с их помощью можно быстро создать логику бэкенда. Для начала работы хватит и одного, но не помешает знать несколько, понимать, в каких случаях они используются, где предпочесть Django, а с какой задачей лучше справится Flask, Tornado или Pyramid.
Для построения веб-приложений также пригодится знание протоколов, HTML, CSS и JavaScript.
Django — популярный Python-фреймворк для написания веб-приложений. Многие начинающие разработчики выбирают его из-за относительной простоты и лёгкости в развитии. Однако это совсем не означает, что фреймворк не справится с профессиональными высоконагруженными системами.
В рамках этого курса вы поэтапно изучите процесс создания полноценного приложения на Django. Помимо работы с основными компонентами фреймворка, вы научитесь грамотно подбирать и интегрировать сторонние библиотеки. Эта книга лишена непонятных, скучных и абстрактных задач — в ней только то, что вам действительно пригодится на практике.
В процессе обучения вы получите не только знания о принципах работы Django, но и опыт в разработке веб-приложений, которые в перспективе планируется расширять дополнительными инструментами.
Полезно как для начинающих разработчиков, так и для специалистов.
В данном издании вы изучите Python-фреймворк Flask. Он относится к категории микрофреймворков — простых каркасов для веб-приложений, обладающих только базовыми возможностями. Благодаря пошаговым примерам вы сможете создать полноценное веб-приложение для социального блогинга.
Благодаря этой книге вы освоите возможности фреймворка и ознакомитесь с различными прикладными технологиями, такими как взаимодействие веб-служб и миграции баз данных.
На фоне других Flask выделяется полной свободой в разработке. Если вы уже имеете опыт работы с Python, то изучение этого фреймворка не составим вам какого-либо труда.
Data Science
Основы программирования на Python в разрезе Data Science следует продолжить изучением таких библиотек и фреймворков:
- NumPy
- TensorFlow
- Keras
- Pandas
- PyTorch
- Matplotlib
- scikit-learn
Для погружения в Machine Learning на Python, обучение стоит начать с основных разделов, а именно:
- обучение с учителем;
- обучение без учителя;
- обучение с подкреплением.
Книги по теме
Хороша та книга, которая учит использовать мощные алгоритмы в машинном обучении без интеграции затратных решений или массивных вычислительных систем. Данное издание как раз об этом.
Благодаря этой книге вы познакомитесь с Scikit-Learn и научитесь работать с нейросетями с помощью библиотек Theano, TensorFlow и H2O. В процессе вы рассмотрите классификационные и регрессионные деревья, а также способы обучения нейросетей без учителя.
В книге рассмотрены принципы машинного обучения в модели MapReduce на Hadoop и Spark.
В данной книге описаны самые различные вычислительные методы и статистические алгоритмы. Без их использования невозможна какая-либо интенсивная обработка данных и проведение исследований.
Данное пособие будет полезно тем читателям, которые уже имеют какой-либо опыт в программировании и хотят научиться правильно использовать Python в Data Science. Например, как преобразовывать определённый формат данных в файл скрипта? Как сформировать и отфильтровать эти данные и работать с ними? Как благодаря полученной информации проанализировать ситуацию, составить статистическую модель и организовать машинное обучение.
Конечно, можно изучать Python для программирования игр, написания десктопных и мобильных приложений, но несмотря на наличие соответствующих для этого инструментов, язык наиболее востребован именно в Data Science и бэкенд-разработке.
Webbynode — VPS для разработчиков
Я с интеренсом наблюдаю за развитием проекта webbynode. Разработчики обещают создать «cloud computing решение для разработчиков».
Вот только некоторые из «приятных особенностей» данного проекта:
- VPS хостинг на основе Xen.
- Ориентация на хостинг приложений и оптимизированный под это интерфейс управления.
- Технология «ReadyStack», позволяющая быстро развертывать готовые решения для популярных фреймворков. Прямо сейчас есть решения для RoR, Django, и LAMP.
- Высокая доступность, благодаря использованию многих датацентров.
Я зарегестрировался в программе для бета-тестеров, и вскоре мне пришло приглашение со всей необходимой для входа информацией.
После логина открылась удобная web-консоль для управления развернутым VPS.
План курса
Программа обучения включает видео уроки по изучению Python для начинающих. Благодаря практическим заданиям и тестам, Вы сможете закрепить полученные знания по каждой теме курса.
развернуть все
свернуть все
О курсе Python для начинающих — от новичка до специалиста
1. Введение в Python
- 1.1 Почему Python?04:24
- 1.2 Python с технической точки зрения07:26
- 1.3 Python 2 vs Python 303:04
- 1.4 Стандартная библиотека03:35
- 1.5 Редакторы коды для Python04:42
- 1.6 Инсталлируем дистрибутив Anaconda04:06
- 1.7 Введение в Anaconda08:40
- 1.8 Jupyter Notebook не запускается через Anaconda Navigator?03:52
- 1.9 Тестирование00:15
- 1.9 Тестирование00:15
- 1.9 Тестирование00:15
2. Основы Python
- 2.1 Обзор основных типов данных07:31
- 2.2 Числа и элементарная математика07:58
-
2.3 Упражнение по написанию кода: Элементарная арифметика05:00
-
2.4 Переменные06:19
-
2.5 Упражнение по написанию кода: Объявление переменных05:00
-
2.6 bool и None07:23
-
2.7 Тип string20:59
-
2.8 Упражнение по написанию кода: Работа со строками05:00
-
2.9 Функции string23:45
-
2.10 Форматирование строк09:42
-
2.11 Операторы сравнения12:59
-
2.12 Операции над файлами23:12
-
2.13 Строки и байты: str, bytes, bytearray17:57
-
2.14 Тестирование00:15
-
2.14 Тестирование00:15
-
2.14 Тестирование00:15
-
2.14 Тестирование00:15
-
2.14 Тестирование00:15
3. Коллекции, циклы и логика в Python
-
3.1 list — список15:52
-
3.2 dict — словарь17:14
-
3.3 OrderedDict vs dict08:32
-
3.4 tuple — кортеж06:12
-
3.5 namedtuple — именованные кортежи07:46
-
3.6 Логика с условиями08:18
-
3.7 set — множество18:02
-
3.8 Цикл for17:27
-
3.9 list comprehension17:34
-
3.10 Цикл while, continue, break07:22
-
3.11 Генераторы17:44
-
3.12 Домашнее задание: Угадай число01:00
-
3.13 Решение ДЗ: пишем Игру «угадай число»07:45
-
3.14 Домашнее задание: Игра в палочки01:00
-
3.15 Решение ДЗ: пишем Игру в палочки12:52
-
3.16 Тестирование00:15
-
3.16 Тестирование00:15
-
3.16 Тестирование00:15
-
3.16 Тестирование00:15
-
3.16 Тестирование00:15
-
3.16 Тестирование00:15
4. Функции и модули
-
4.1 Помощь по функциям04:27
-
4.2 Встроенные функции21:40
-
4.3 Основы функций20:36
-
4.4 Лямбды15:42
-
4.5 Вложенные функции и область видимости переменных12:19
-
4.6 Декораторы16:30
-
4.7 Декоратор @wraps06:30
-
4.8 Тестирование00:15
-
4.8 Тестирование00:15
-
4.8 Тестирование00:15
-
4.8 Тестирование00:15
-
4.8 Тестирование00:15
-
4.8 Тестирование00:15
-
4.8 Тестирование00:15
-
4.8 Тестирование00:15
-
4.9 Домашнее задание: Парсинг римских чисел01:00
-
4.10 Решение ДЗ: парсим римские числа07:45
5. Ошибки и исключения. Автоматизированные тесты
-
5.1 Основы обработки ошибок23:00
-
5.2 Выброс исключений. Кастомные типы исключений12:10
-
5.3 Основы юнит-тестирования10:04
-
5.4 Тестирование00:15
-
5.4 Тестирование00:15
-
5.4 Тестирование00:15
-
5.4 Тестирование00:15
-
5.4 Тестирование00:15
6. ООП в Python
-
6.1 Основы классов11:52
-
6.2 Атрибуты и методы07:43
-
6.3 Константы. Защищённые и приватные атрибуты. Свойства23:05
-
6.4 Статические методы — @staticmethod, @classmethod22:27
-
6.5 Наследование и полиморфизм16:08
-
6.6 Множественное наследование17:45
-
6.7 Миксины11:34
-
6.8 Абстрактный класс и модуль ABC11:00
-
6.9 Магические методы05:05
-
6.10 Домашнее задание: Крестики-нолики01:00
-
6.11 Решение ДЗ: реализуем Крестики-нолики12:39
-
6.12 Тестирование00:15
-
6.12 Тестирование00:15
-
6.12 Тестирование00:15
-
6.12 Тестирование00:15
-
6.12 Тестирование00:15
-
6.12 Тестирование00:15
-
6.12 Тестирование00:15
-
6.12 Тестирование00:15
-
6.12 Тестирование00:15
7. Модули и пакеты
-
7.1 PyPi и Pip04:30
-
7.2 Модули и пакеты12:29
-
7.3 Ещё раз о __name__ и __main__06:34
-
7.4 Тестирование00:15
-
7.4 Тестирование00:15
-
7.4 Тестирование00:15
-
7.4 Тестирование00:15
8. Дополнительно
-
8.1 Отладка07:36
-
8.2 Реализуем Stack09:22
-
8.3 datetime — даты и время20:07
-
8.4 Singleton Design Pattern: __new__ and __init__12:29
-
8.5 Pickle — консервирование10:55
-
8.6 repr and str, eq and ne, eval16:27
-
8.7 Deep copy vs Shallow copy19:19
-
8.8 Enum — перечисления12:07
-
8.9 Работаем с JSON27:51
-
8.10 Модуль intertools44:08
-
8.11 Интроспекция10:43
-
8.12 Модуль requests25:47
-
8.13 Управление памятью11:58
-
8.14 Тестирование00:15
-
8.14 Тестирование00:15
-
8.14 Тестирование00:15
-
8.14 Тестирование00:15
9. Движемся дальше
-
9.1 Введение в Линтеры13:10
-
9.2 Виртуальное окружение11:56
-
9.3 Установка «системного» Python04:51
-
9.4 Установка PyCharm08:37
-
9.5 Создаём проект в PyCharm04:57
-
9.6 Refactoring, Quick Fixes, Debugging в PyCharm14:27
-
9.7 Type Hints18:55
-
9.8 Введение в dataclasses07:06
-
9.9 Домашнее задание: Виселица01:00
-
9.10 Решение ДЗ: Виселица32:55
-
9.11 Домашнее задание: Верю-не-верю (истина или ложь)01:00
-
9.12 Решение ДЗ: Верю-не-верю31:17
Завершение курса — Получение Сертификата
Практика — главная составляющая обучения
Мозг человека устроен так, что знания, которые не используются, стираются из памяти. Чтобы информация прочно закрепилась в памяти, её нужно понять, повторить несколько раз и, конечно, применить на практике.
Можно прочитать десятки книг по языку, однако без практики, вся полученная теория будет бесполезна.
На начальном этапе, когда программист не изучает специализированные фреймворки, а работает непосредственно с языком программирования, практика заключается в решении простых задач, обычно это математические задачи или задачи на проработку конкретных конструкций языка.
Когда программист доходит до высокого уровня владения языком и начинает разбираться в фреймворках, ему следует начинать писать близкие к реальным проекты, например: блокнот, программу для работы с изображениями, простой сайт и т.д.
Самая лучшая практика – это делать коммерческие проекты. Но на начальном этапе можно написать программу, которой вы сами будете пользоваться или ваши знакомые.
Если проект не просто написан для изучения языка программирования и после этого забыт, а постоянно используется, такой проект будет большим плюсом при собеседовании на работу. Даже если им пользуетесь только вы для решения своих задач.
Что такое Python? Он подходит только для Data Science?
Теоретическая часть будет короткой. Но вам нужно знать две вещи о языке, прежде чем начинать использовать его.
- Python — язык общего назначения и он используется не только для Data Science. Это значит, что его не нужно знать идеально, чтобы быть экспертом в сфере работы с данными. В то же время даже основ будет достаточно, чтобы понимать и другие языки, а это очень удобно для работы в IT.
- Python — высокоуровневый язык. Это значит, что в отношении процессорного времени он не самый эффективный. С другой же стороны, он был создан очень простым, «удобным для использования» и понятным. Так, пусть вы и проиграете в процессорном времени, но сможете отыграться в процессе разработки.
Наследование: поведение и характеристики
Разные объекты могут иметь некоторую схожесть, обладать поведением и характеристиками.
Например, я унаследовал какие-то характеристики и поведение от своего отца. Я получил его глаза и волосы в качестве своих характеристик, а его нетерпеливость и интровертность в качестве своего поведения.
В объектно-ориентированном программировании классы могут наследовать простые характеристики(данные) и поведение(методы) от других классов.
Давайте посмотрим другой пример и реализуем его в Python.
Представьте машину. Количество колёс, сидячих мест и максимальная скорость — всё это атрибуты машины. Мы можем сказать, что класс электромашины наследует эти схожие характеристики от обычного класса машины.
class Car: def __init__(self, number_of_wheels, seating_capacity, maximum_velocity): self.number_of_wheels = number_of_wheels self.seating_capacity = seating_capacity self.maximum_velocity = maximum_velocity
Наш класс машины реализует:
my_car = Car(4, 5, 250) print(my_car.number_of_wheels) print(my_car.seating_capacity) print(my_car.maximum_velocity)
Один раз реализовав, мы можем использовать все созданные экземпляры переменных. Неплохо.
В Python, мы применяем класс-родитель к нашему классу-наследнику как параметр. Класс электромашины может наследоваться от класса машины.
class ElectricCar(Car): def __init__(self, number_of_wheels, seating_capacity, maximum_velocity): Car.__init__(self, number_of_wheels, seating_capacity, maximum_velocity)
Вот так просто. Нам не нужно реализовывать какой-либо другой метод, потому что этот класс уже имеет его(унаследовав от класса машины). Давайте докажем это:
my_electric_car = ElectricCar(4, 5, 250) print(my_electric_car.number_of_wheels) # => 4 print(my_electric_car.seating_capacity) # => 5 print(my_electric_car.maximum_velocity) # => 250
Прекрасно.
На этом всё!
Мы изучили множество вещей о базах Python:
- Как работают переменные Python
- Как работают блоки условий
- Как работают циклы(while и for)
- Как использовать списки: коллекции | массивы
- Коллекция-словарь в виде ключ-значение
- Как мы можем проводить итерации через эту структуры данных
- Объекты и классы
- Атрибуты как данные объектов
- Методы как поведение объектов
- Использование Python получателя и установщика, а также свойство @property
- Инкапсуляция: сокрытие информации
- Наследование: поведение и характеристики
Поздравляем! Вы освоили эту насыщенную и необходимую часть языка Python.
Перевод статьи TKLearning Python: From Zero to Hero