Программирование питона с нуля: Самоучитель Python | Python 3 для начинающих и чайников

Содержание

Python обучение — курс уроков программирования на Питоне с нуля на itProger

Представляем вам уроки программирования Python для начинающих. Обучение с нуля для чайников. Большой видео курс по изучению языка Питон.

Информация про Python

Язык Питон появился в 1991 году, что делает его старше за языки Джава, С#, JavaScript, PHP и многие другие, но делает младше за Си и С++. Несмотря на свой возраст язык вовсе не утратил былую славу, а лишь наоборот каждый год укрепляет свои силы на рынке. Все это благодаря постоянным обновлениям.

На сегодняшний день язык уверено себя чувствует в тройке самых популярных языков мира по версии TIOBE. Такая популярность и любовь со стороны разработчиков вызвана не случайно. На это есть несколько причин:

Во-первых, язык максимально удобен в плане синтаксиса. Если ранее вы изучали какие-то другие языки, то знаете как много там есть лишних символов, по типу: кавычек, скобок, точек с запятыми и так далее. В Питон все эти вещи убраны и вместо них вы ставите либо двоеточие, либо вовсе делаете отступы одной длины. Такой подход значительно упрощает не только написание кода, но и его поддержку, не говоря уже про чтение чужого кода.

Во-вторых, язык универсален. Хотите сделать веб сайт? Не проблема. Хотите сделать программу под ПК? Тоже не проблема. Хотите писать нейронные сети, машинное обучение, парсинг данных, ботов или даже небольшие игры? Все это также не является проблемой. Такой обширный выбор доступен за счет сторонних библиотек и фреймворков, коих в языке несчитанное количество. 

Ну и в-третьих, на Питон банально проще писать код. Многие действия что в Питон могут занимать одну-две строчки кода в том же языке Джава занимает порой 10, а порой и 20 строк кода.

Программирование на Python приносит эстетическое удовольствие и неплохой доход. Даже у неопытного программиста здесь получается лаконичный и легко читаемый код. Питон – это красивый и очень мощный язык.

Почему тогда Питон не №1?

Вы можете задать вполне логичный вопрос: почему же при столь обширном спектре плюсов люди пишут еще и на других языках? Тут дело в нескольких причинах. Питон удобный, но в сравнении с тем же языком Си он куда более медленный. Вы этого не заметите в мелких проектах, но если решите писать крупный проект или вовсе свою операционную систему, то вам понадобится максимальная скорость выполнения кода, что Питон не может обеспечить.

По схожим причинам Питон не является лидером во всех доступных ему сферах. Для игр нужно быстродействие, для программ также, поэтому там выбор в основном падает на другие языки, а вот веб сайты могут уже потеснится в плане скорости и поэтому +- 100 миллисекунд на выполнение особой роли там не сыграют.

Где применяется Python?

На Питоне можно делать много чего: приложения под ПК, нейросети, веб сайты и даже игры.

Если говорить про наиболее частое использование языка, то это такие сферы как: веб разработка, работа с данными, машинное обучение и нейронные сети, разработка ботов и написание скриптов под разные системы.

Несколько основных функциональных достоинств Python:

  • Умеет работать с расширениями xml/html;
  • Поддерживает управление http-запросами;
  • Обладает графическим интерфейсом;
  • Помогает создавать веб-скрипты;
  • Может работать с FTP;
  • Способен оперировать картинками, видео и звуковыми файлами;
  • Используется в разработке робототехники;
  • Отвечает за создание научных, вычислительных площадок и ещё много всего другого.

Можно сказать, что Python отлично подходит для выполнения большей части ежедневных задач программистов. Участвует как в создании обычных бекапов или чтении писем с почты, так и в разработке крупных игр. Питон практически не имеет ограничений по сферам использования, что позволяет использовать его в проектах колоссальных масштабов. 

Python часто применяется китами мира IT – Google и Яндекс. Если добавить к этому простоту создания программ, несложно понять, почему Питон заслуживает место в списке лучших языков.

Чтобы начать работать на Python, прежде стоит пройти на официальный веб-ресурс для скачивания дистрибутива языка. На сайте есть масса полезной информации в отношении правил написания кода и расширяемости языка.

Сфера применения языка выходит далеко за пределы разработки обычных приложений. Он используется в разработке игр, веб-программировании и многом другом. Для работы в подобных направлениях нужно только подобрать, скачать и установить соответствующий фреймворк. Библиотеки помогут расширить функции языка в конкретном направлении. С библиотеками проще создавать проекты, так как не требуется создавать «велосипед».

Ближайшее перспективы языка

На сегодня язык обладает большим сообществом разработчиков. На основе языка можно делать проекты из разных сфер.

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

Создание сайтов на Python

Для разработки веб сайтов вы можете писать код на чистом Питоне, но в таком случае вы будете делать «мартышкин труд». Куда проще использовать готовые решения для построения веб сайтов. Одним из таких решений является фреймворк Джанго. 

Django – это один из наиболее популярных фреймворков для веб-разработки, в котором есть всё необходимое для создания сайта любого формата. Даже Google активно применяет Питон в ряде собственных проектов, а всё по причине удобной работы и широкого функционала, применимого в любых направлениях. 

Вы можете ознакомиться с возможностями Джанго в нашей специальной статье: «10 самых популярных сайтов написанных на Django». 

Если вы хотите изучить данный фреймворк, то также предлагаем вам полноценный курс по Django. Его можно просмотреть по этой ссылке.

План курса

В ходе курса мы с вами будем рассматривать все основные нюансы относительно языка программирования Питон. Вы изучите основы языка Python с нуля, научитесь создавать переменные, научитесь работать с циклами и списками, создавать классы и объекты, создавать конструкторы, научитесь работать с файлами и выполнять многие другие действия. К концу курса у вас будут четкие представления относительно языка Python и его возможностей.

Обучение языка программирования Питон проходит с нуля для чайников и за курс вы научитесь писать консольные программы на Питоне. Важно понимать, что после курса вы сможете приступить к изучению определенной его библиотеки. Например, если интересуют сайты, то сможете начать учить Джанго, если интересуют программы, то PyQt, а если интересуют игры, то можно начать изучать PyGame.

Курсы по Python разработке

Также хотим отметить, что если вас интересует более углубленное изучение языка и его фреймворков, то предлагаем вашему внимаю нашу большую программу обучения по теме Python. 

За курс мы с вами научимся делать программы на основе базовых концепций языка Python. Если вы хотите получить больше информации относительно языка, то рекомендуем вам нашу полноценную программу обучения по Python разработке. Ознакомится с программой обучения по можно по этой ссылке.

В ходе программы обучения вы изучите более сложные концепции языка, научитесь работать с базой данных, выполнять тестирование проекта, работать с нейронными сетями и многое другое. За курс вы научитесь с нуля создавать сайты на основе языка Питон и даже разработаете небольшой веб магазин с системой оплаты прямиком на сайте.

программирование на Питоне для начинающих — Skillbox

Участвует в Чёрной пятнице Скидки до 60% действуют 0 дней 00:00:00

Курс

На Python создают веб-приложения и нейросети, проводят научные вычисления и автоматизируют процессы. Вы научитесь программировать на востребованном языке с нуля, напишете Telegram-бота для турагентства и сможете начать карьеру в разработке.

  • Длительность 4 месяца
  • Реальный проект в портфолио
  • Погружение в профессию на практике
  • Доступ к курсу навсегда

Кому подойдёт этот курс

  • Тем, кто хочет начать программировать

    Вы с нуля изучите Python: синтаксис, функции, стандартные библиотеки. Сможете начать карьеру Python-разработчика.

  • Начинающим Python-разработчикам

    Вы систематизируете и углубите знания по Python, освоите продвинутые темы и прокачаетесь как разработчик.

  • Специалистам в сфере IT

    Вы освоите Python и сможете автоматизировать рутинные задачи, расширите круг компетенций и повысите свою ценность как специалиста.

  • Разработчикам на других языках

    Вы разберётесь в особенностях Python, сможете сменить специальность и разрабатывать на одном из самых востребованных и простых языков.

Чему вы научитесь

  1. Писать чистый код

    Познакомитесь с синтаксисом Python, узнаете правила хорошего тона в программировании и научитесь писать лаконичный код, понятный вам и другим разработчикам.

  2. Понимать алгоритмы и структуры данных

    Изучите основные алгоритмы и структуры данных и научитесь их реализовывать в Python. Узнаете, как оценивать сложность алгоритмов.

  3. Создавать программы на Python

    Научитесь создавать программы на Python в разных стилях: императивном, объектном и функциональном.

  4. Работать с сетью

    Поймёте, как устроено клиент-серверное взаимодействие, научитесь работать с GET- и POST-запросами и библиотекой requests.

  5. Тестировать код

    Освоите методы отладки и тестирования — сможете находить и исправлять ошибки в своём или чужом коде. Научитесь пользоваться библиотекой requests.

О Skillbox

О Skillbox

№ 1 по качеству организации обучения среди EdTech-компаний в сегменте ДПО.
Рейтинг от Smart Ranking.

Вся теория записана с топовыми экспертами рынка, а практика максимально приближена к реальным рабочим задачам. Послушайте, что говорят те, кто уже достиг своих целей вместе со Skillbox.

Год английского языка бесплатно

Skillbox запустил онлайн‑платформу для изучения английского. Запишитесь на курс и получите годовой бесплатный доступ к материалам проекта.

Предложение действительно для пользователей, которые приобрели любой курс с 22 декабря 2021 года.

Вас ждут:

  • методика ускоренного запоминания слов и грамматики;
  • персональная программа освоения языка, которая поможет заговорить с нуля;
  • возможность индивидуальных сессий с кураторами.

Как проходит обучение на платформе

  • Регистрация

    Знакомитесь с платформой

    Платформа Skillbox — собственная разработка компании, которую мы постоянно улучшаем. Вас ждут видео, практические задания и общение с кураторами. Доступ к материалам откроется сразу после покупки курса.

  • Теория

    Получаете знания

    Курсы состоят из тематических видео разной длительности. Смотрите их когда и где угодно. Доступ бессрочный, чтобы вы всегда могли вернуться и повторить теорию.

  • Практика

    Выполняете задания

    Мы уверены, что навыки отрабатываются только через практику. Поэтому после теории вас ждёт практическая работа или тест. Все задачи приближены к реальным — их можно с гордостью положить в портфолио.

  • Обратная связь

    Работаете с куратором

    Проверкой заданий занимаются кураторы. Это эксперты по теме курса. Они помогут с трудными задачами и подскажут, как улучшить ваши проекты. Общаться с проверяющими кураторами можно прямо на платформе.

  1. Введение

    Научитесь работать с онлайн-редактором кода. Напишете первую программу. Освоите работу с функцией print.

  2. Основы работы с Python

    Изучите работу с переменными, оператором ввода input и строками.

  3. Операторы, выражения

    Изучите арифметические операции с числами, порядок их выполнения, ввод чисел с клавиатуры, деление нацело и с остатком, а также сокращённые операторы.

  4. Условный оператор if, ветвления

    Изучите основы работы с оператором if, научитесь писать простые программы с условиями.

  5. Условный оператор if: продолжение

    Изучите логические операторы not, and, or. Научитесь писать последовательные и вложенные условия, упрощать сложные выражения.

  6. Цикл while

    Научитесь работать с оператором циклов while. Изучите логические преобразования, бесконечные циклы, операторы break, continue.

  7. Цикл for. Циклы со счётчиком

    Научитесь использовать цикл for для итерации по числам, изучите основы функции range().

  8. Цикл for. Особенности работы с range

    Узнаете, как работать с параметрами функции range(): start, stop, step.

  9. Цикл for: работа со строками

    Научитесь с функцией print, оператором end и работать со строками в условном операторе

  10. Вложенные циклы

    Узнаете, где можно встретить вложенные циклы, как они работают и как меняются счётчики циклом. Научитесь сравнивать счётчики внутри вложенного цикла, решать математические задачи с помощью вложенных циклов.

  11. Числа. Типы int и float

    Научитесь работать с целыми (тип int) и вещественными (тип float) числами в Python, их вводом и преобразованием, арифметическими действиями с ними. Изучите стандартные математические функции из модуля math.

  12. Функции: начало

    Изучите основы функций: объявление и вызов функции, функции с одним и несколькими параметрами.

  13. Особенности float

    Научитесь возвращать значения функций значений из функций, работать с оператором return, алгоритмами с заданной точностью. Познакомитесь с особенностями работы с вещественными числами.

  14. Установка и настройка IDE

    Сможете устанавливать IDE Pycharm, работать с командной строкой и интерпретатором, отлаживать программы.

  15. Базовые коллекции. Списки

    Научитесь работать с базовой коллекцией — списками (list). Сможете объявлять и выводить списки и работать с элементами, создавать списки с помощью циклов.

  16. List: Методы работы со списками

    Изучите функции и методы работы со списками. Научитесь удалять и заменять элементы списков, итерироваться по спискам, использовать вложенные циклы.

  17. Представления списков

    Научитесь создавать списки с помощью List comprehensions. Научитесь работать с типом slice и сортировать списки.

  18. Базовые коллекции. Строки

    Освоите работу со строками. Научитесь использовать методы строк, изучите преобразование в строки и форматирование.

  19. Базовые коллекции. Словари

    Научитесь создавать словари и работать с их элементами. Изучите методы словарей и перебор элементов. Сможете генерировать словари и работать с функцией set.

  20. Базовые коллекции. Кортежи

    Узнаете, чем кортежи отличаются от списков, и зачем они нужны. Научитесь использовать функции zip и enumerate. Сможете перебирать ключи и значения в словаре, работать с составными ключами.

  21. Функции: продолжение

    Научитесь работать с рекурсией, работать с коллекциями внутри функции и при вызове. Сможете использовать значения по умолчанию при работе с функцией.

  22. Работа с файлами

    Вы научитесь работать с путями к файлам, unix path. Освоите базовые операции с файлами: open, read, write, close, итерацию по файлу с циклом for, поиск подстроки, безопасную работу с файлами.

  23. Исключения: работа с ошибками

    Узнаете, что такое исключения и какая у них иерархия. Научитесь использовать конструкцию try-except-finally-else и правильно обрабатывать исключения.

  24. Введение в ООП

    Научитесь работать с объектно-ориентированным программированием в Python, с классами и их методами, конструктором классов __init__, объектом класса self.

  25. Основные принципы ООП

    Научитесь инкапсулировать и скрывать данные, работать с наследованием и полиморфизмом, описывать классы и методы.

  26. Итераторы и генераторы

    Поймёте, в чем отличие между итератором и терируемым объектом. Узнаете, как получить итератор, работать с функциями iter, next. Сможете превращать функцию в генератор, использовать оператор yield.

  27. Декораторы: базовый уровень

    Сможете использовать декораторы для изменения свойств функций. Научитесь работать с модулем datatime и использовать декоратор как таймер.

  28. Углублённая работа с классами и встроенные декораторы

    Научитесь работать с множественным наследованием. Узнаете, что такое интерфейс класса и абстрактные классы. Сможете оформлять статистические методы в классе, изменять или получать атрибуты объекта без вызова методов.

  29. Декораторы: продвинутый уровень

    Сможете использовать декораторы с аргументами. генераторы как контекст-менеджеры и модуль logging.

  30. Функции. Конец

    Научитесь работать с lambda-функциями, map, filter, reduce, all any. Сможете задавать пространство имен, области видимости и использовать класс counter.

  31. Библиотеки для работы с данными

    Сможете работать с регулярными выражениями, датой и временем и модулем itertools.

  32. Бонусный модуль. Основы работы с сетью

    Сможете узнать про основы работы с сетями. Что происходит, когда мы вбиваем в браузере ya.ru. Это важно и полезно знать начинающим разработчикам, чтобы выйти в большое плавание.

Получить презентацию курса и консультацию специалиста

Ваша заявка успешно отправлена

Наш менеджер свяжется с вами в ближайшее время

Скачать программу Скачать программу

Итоговый проект

  • Бот для турагентства

    Разработаете Telegram-бота по заданию турагентства Too Easy Travel. Бот будет принимать примерную стоимость проживания и местонахождение пользователя, а возвращать список максимально подходящих отелей.

Спикер

Часто задаваемые вопросы

  • Я никогда не программировал. У меня получится?

    Конечно! При правильном подходе, самостоятельном расширении кругозора и своевременном выполнении практических работ вы сможете достигнуть результата даже без специальных базовых знаний. Во всём помогут опытные наставники, которые будут курировать вас на протяжении всего курса.

  • Какой график обучения на платформе? Получится ли совмещать его с работой?

    Вы можете работать с материалами курса в удобное время и в подходящем вам темпе. Более того, все видео будут доступны и по окончании курса, навсегда, так что вы сможете освежить свои знания в любой момент. Обучение на платформе организовано таким образом, чтобы вы могли совмещать его с работой, учёбой и личной жизнью.

  • Сколько часов в неделю мне нужно будет уделять курсу?

    Всё зависит только от вас. В среднем участники курса занимаются от 3 до 5 часов в неделю.

  • Я смогу общаться со спикерами?

    У вас будет куратор в Telegram-чате, а проверяющий эксперт прокомментирует практические работы и даст полезные советы. Так вы сможете перенять опыт, профессиональные знания и лайфхаки.

  • Действуют ли какие-нибудь программы рассрочки?

    Да, вы можете купить курс в рассрочку — и спланировать свой бюджет, разбив всю сумму на небольшие ежемесячные платежи.

  • Санкт-Петербург
  • Алматы
  • Киев
  • Минск
  • Москва
  • Санкт-Петербург
  • Алматы
  • Волгоград
  • Воронеж
  • Екатеринбург
  • Казань
  • Красноярск
  • Нижний Новгород
  • Новосибирск
  • Омск
  • Пермь
  • Ростов-на-Дону
  • Уфа
  • Челябинск

Основы Python

В этом разделе вы изучите основы Python. Если вы новичок в программировании на Python, этот раздел основ Python идеально подходит для вас.

После прохождения учебных пособий вы будете уверенно программировать на Python и сможете создавать простые программы на Python.

Раздел 1. Основы

  • Синтаксис — познакомит вас с основным синтаксисом программирования Python.
  • Переменные — объясните вам, что такое переменные и как создавать краткие и содержательные переменные.
  • Строки — узнайте о строковых данных и некоторых основных операциях со строками.
  • Числа — познакомить вас с часто используемыми типами чисел, включая целые числа и числа с плавающей запятой.
  • Логические значения — объясняют логический тип данных, ложные и истинные значения в Python.
  • Константы — покажет вам, как определять константы в Python.
  • Комментарии — узнайте, как делать заметки в коде.
  • Преобразование типов — узнайте, как преобразовать значение одного типа в другой, например, преобразовать строку в число.

Раздел 2. Операторы

  • Операторы сравнения. Знакомство с операторами сравнения и их использованием для сравнения двух значений.
  • Логические операторы — показать вам, как использовать логические операторы для объединения нескольких условий.

Раздел 3. Поток управления

  • оператор if…else — узнайте, как выполнить блок кода на основе условия.
  • Тернарный оператор — познакомьте вас с тернарным оператором Python, который делает ваш код более кратким.
  • цикл for с функцией range() — покажет вам, как выполнить блок кода фиксированное количество раз, используя цикл for с функцией range().
  • while — показать вам, как выполнить блок кода, если условие истинно.
  • break — научиться преждевременному выходу из цикла.
  • продолжить — показать вам, как пропустить текущую итерацию цикла и начать следующую.
  • pass — показать вам, как использовать оператор pass в качестве заполнителя.

Раздел 4. Функции

  • Функции Python — познакомит вас с функциями Python, а также с тем, как определять функции и повторно использовать их в программе.
  • Параметры по умолчанию — показывает, как указать значения по умолчанию для параметров функции.
  • Аргументы ключевого слова — узнайте, как использовать аргументы ключевого слова, чтобы сделать вызов функции более очевидным.
  • Рекурсивные функции — узнайте, как определять рекурсивные функции в Python.
  • Лямбда-выражения — покажет вам, как определять анонимные функции в Python с помощью лямбда-выражений.
  • Строки документации — покажите, как использовать строки документации для документирования функции.

Раздел 5. Списки

  • Список — познакомит вас с типом списка и с тем, как эффективно манипулировать элементами списка.
  • Кортеж — познакомить вас с кортежем, представляющим собой список, который не меняется на протяжении всей программы.
  • Сортировка списка на месте — показано, как использовать метод sort() для сортировки списка на месте.
  • Сортировка списка — узнайте, как использовать функцию sorted() для возврата нового отсортированного списка из исходного списка.
  • Нарезка списка — покажет вам, как использовать технику нарезки списка для эффективного управления списками.
  • Распаковать список — показать, как связать элементы списка с несколькими переменными с помощью распаковки списка.
  • Итерация по списку — узнайте, как использовать цикл for для итерации по списку.
  • Найти индекс элемента — покажет вам, как найти индекс первого вхождения элемента в список.
  • Iterables — объясните вам iterables и разницу между iterable и iterator.
  • Преобразование элементов списка с помощью map() — покажет вам, как использовать функцию map() для преобразования элементов списка.
  • Фильтровать элементы списка с помощью filter() — используйте функцию filter() для фильтрации элементов списка.
  • Уменьшите элементы списка до значения с помощью функции reduce() — используйте функцию сокращения(), чтобы уменьшить элементы списка до одного значения.
  • Понимание списков — покажет вам, как создать новый список на основе существующего списка.

Раздел 6. Словари

  • Словарь — познакомить вас с типом словаря.
  • Понимание словаря — покажет вам, как использовать понимание словаря для создания нового словаря из существующего.

Раздел 7. Наборы

  • Наборы — объясните вам тип набора и покажите, как эффективно манипулировать элементами набора.
  • Понимание набора — объясните вам понимание набора, чтобы вы могли создать новый набор на основе существующего набора с более кратким и элегантным синтаксисом.
  • Объединение наборов — покажет вам, как объединить два или более набора с помощью метода union() или оператора объединения наборов ( и ).
  • Пересечение множеств — показывает, как пересекать два или более множества с помощью метода пересечения () или оператора пересечения множеств (|).
  • Разность наборов — узнайте, как найти разницу между наборами с помощью метода set разность() или оператора разности наборов ( - ) используя 9).
  • Подмножество — проверьте, является ли набор подмножеством другого набора.
  • Надмножество — проверьте, является ли набор надмножеством другого набора.
  • Непересекающиеся множества — проверьте, не пересекаются ли два множества.

Раздел 8. Обработка исключений

  • try…except — показывает, как более изящно обрабатывать исключения с помощью оператора try…except.
  • try…except…finally – узнайте, как выполнить блок кода независимо от того, возникает исключение или нет.
  • try…except…else — объясните вам, как использовать оператор try…except…else для управления выполнением программы в случае возникновения исключений.

Раздел 9. Подробнее о циклах Python

  • for…else — объясните вам оператор for else .
  • while…else – обсудите оператор while else .
  • эмуляция цикла do…while — покажет вам, как эмулировать цикл do…while в Python с помощью оператора цикла while.

Раздел 10. Дополнительные сведения о функциях Python

  • Распаковка кортежей — покажет вам, как распаковать кортеж, который присваивает отдельные элементы кортежа нескольким переменным.
  • *args Параметры — узнайте, как передать функции переменное количество аргументов.
  • **kwargs Параметры — показать вам, как передать переменное количество аргументов ключевого слова в функцию.
  • Частичные функции — узнайте, как определять частичные функции.
  • Типовые подсказки — показывают, как добавлять подсказки к параметрам функции и как использовать средство проверки статического типа (mypy) для статической проверки типа.

Раздел 11. Модули и пакеты

  • Модули — познакомит вас с модулями Python и покажет, как писать собственные модули.
  • Путь поиска модуля — объясните, как работает путь поиска модуля Python при импорте модуля.
  • __name__ переменная — покажет вам, как использовать переменную __name__ для управления выполнением файла Python как скрипта или модуля.
  • Пакеты — узнайте, как использовать пакеты для более структурированной организации модулей.

Раздел 14. Сторонние пакеты, PIP и виртуальные среды

  • Указатель пакетов Python (PyPI) и pip — познакомим вас с указателем пакетов Python и узнайте, как устанавливать сторонние пакеты с помощью pip.
  • Виртуальные среды — узнайте, что такое виртуальные среды Python и, что более важно, зачем они вам нужны.
  • Установите pipenv в Windows — покажите, как установить инструмент pipenv в Windows.

Раздел 15. Строки

  • F-строки — узнайте, как использовать f-строки для форматирования текстовых строк в понятном синтаксисе.
  • Необработанные строки — используйте необработанные строки для обработки строк, содержащих обратную косую черту.
  • Обратная косая черта — объясните, как Python использует обратную косую черту ( \ ) в строковых литералах.

Объектно-ориентированное программирование Python (ООП)

В этом ООП Python ясно объясняется объектно-ориентированное программирование Python, чтобы вы могли применять его для более эффективной разработки программного обеспечения.

К концу этого модуля Python OOP вы будете хорошо знать принципы объектно-ориентированного программирования. И вы узнаете, как использовать синтаксис Python для создания надежных и надежных программных приложений.

Чему вы научитесь

  • Создавайте объекты в Python, определяя классы и методы.
  • Расширение классов с помощью наследования.
  • Принципы SOLID в объектно-ориентированном программировании.

Для кого предназначен этот учебник?

Если вы новичок в объектно-ориентированном программировании или если у вас есть базовые навыки Python и вы хотите подробно изучить, как и когда правильно применять ООП в Python, это руководство для вас.

Раздел 1. Классы и объекты

  • Объектно-ориентированное программирование — познакомит вас с важными понятиями объектно-ориентированного программирования Python.
  • Класс — узнайте, как определить класс и создать новые объекты из класса.
  • Переменные класса — объясните переменные (или атрибуты) класса
  • Методы экземпляра — расскажут вам о методах экземпляра и помогут понять различия между функцией и методом.
  • __init__() — покажет вам, как использовать метод __init__ для инициализации атрибутов объекта.
  • Переменные экземпляра — понять переменные экземпляра.
  • Частные атрибуты — узнайте о частных атрибутах и ​​о том, как их эффективно использовать.
  • Атрибуты класса — понимание атрибутов класса и, что более важно, когда следует использовать атрибуты класса.
  • Статические методы — объясняют вам статические методы и показывают, как их использовать для группировки связанных функций в классе.

Раздел 2.

Специальные методы

  • Метод __str__ показывает, как использовать метод __str__ dunder для возврата строкового представления объекта.
  • Метод __repr__ — узнайте, как использовать метод __repr__ и основное различие между методами __str__ и __repr__.
  • Метод __eq__ — научитесь определять логику равенства для сравнения объектов по значениям.
  • Метод __hash__ — покажет вам, как сделать класс хешируемым с помощью метода __has__.
  • Метод __bool__ — поможет вам определить, является ли пользовательский объект True или False с помощью метода __bool__.
  • Метод __del__ — понять, как работает метод __del__.

Раздел 3. Свойство

  • Свойство — показывает, как использовать класс свойств для создания свойства.
  • Декоратор @property — узнайте, как использовать декоратор @property для создания свойства.
  • Свойство только для чтения — узнайте, как определять свойства только для чтения и использовать их для вычисляемых свойств.
  • Удалить свойство — руководство по удалению свойства объекта.

Раздел 4. Одиночное наследование

  • Наследование – объясните вам концепцию наследования и как определить класс, который наследуется от другого класса.
  • Методы переопределения — показать вам, как работают методы переопределения.
  • super() — научитесь делегировать методы родительского класса из метода дочернего класса.
  • __slots__ — используйте __slots__, чтобы сделать класс более эффективным с точки зрения использования памяти.
  • Абстрактный класс — узнайте, что такое абстрактные классы и как определять абстрактные классы.

Раздел 5. Перечисление

  • Перечисление — покажет вам, как определить перечисление в Python.
  • Псевдонимы перечисления и @enum.unique — познакомим вас с псевдонимами перечисления и тем, как использовать декоратор enum.unique для обеспечения уникальности значений членов.
  • Настройка и расширение перечислений — узнайте, как настроить поведение классов перечислений и как расширить собственный класс перечислений.
  • auto — используйте класс enum auto для создания уникальных значений для членов перечисления.

Раздел 6. Принципы SOLID

Этот раздел знакомит вас с принципами объектно-ориентированного программирования SOLID. Эти пять принципов проектирования делают ваше программное обеспечение более удобным в сопровождении и гибким.

  • Принцип единой ответственности — класс должен иметь единую ответственность.
  • Принцип открытости/закрытости – класс должен быть открыт для расширения, но закрыт для модификации.
  • Лисков Принцип замещения – дочерний класс должен иметь возможность заменять родительский класс.
  • Принцип разделения интерфейсов – используйте множество маленьких интерфейсов вместо одного большого интерфейса.
  • Принцип инверсии зависимостей — сделать высокоуровневый модуль зависимым от абстракции, а не низкоуровневого модуля.

Раздел 7. Множественное наследование

  • Множественное наследование — узнайте, как реализовать множественное наследование, и поймите, как работает порядок разрешения методов (MRO) в Python.
  • Mixin — познакомит вас с концепцией миксина и с тем, как реализовать миксин в Python.

Раздел 8. Дескрипторы

  • Дескрипторы. Объясните, как работают дескрипторы и как их использовать для повторного использования кода.
  • Данные и неданные дескрипторы – понимание различий между данными и неданными дескрипторами

Раздел 9. Метапрограммирование

  • __new__ — узнайте, как Python использует метод __new__ для создания нового экземпляра класса. Класс типов
  • — покажет вам, как динамически создавать класс с использованием класса типов.
  • Метакласс — объясните метакласс и покажите, как определить собственный метакласс для создания других классов.
  • Пример метакласса — покажите вам пример метакласса, который позволяет внедрить множество функций в классы.
  • класс данных — используйте класс данных для добавления специальных методов, таких как __init__ и __repr__, в пользовательские классы.

    This entry was posted in Популярное