Программирование с нуля python: Самоучитель 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 разработке. Ознакомится с программой обучения по можно по этой ссылке.

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

бесплатный курс, обучение с нуля, 44 урока

Включено в курс

44 урока (видео и/или текст)

55 упражнений в тренажере

158 проверочных тестов

Дополнительные материалы

Помощь в «Обсуждениях»

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

  • Создавать программы, используя основные конструкции языка (условия, циклы, функции и другие)
  • Составлять программы, состоящие из нескольких модулей
  • Правильно анализировать ошибки в коде и пользоваться отладочной печатью при их поиске

Описание

На этом курсе вы изучите основы языка Python (произносится как «Пайтон» или «Питон»). Вы изучите основы программирования на Python, познакомитесь с синтаксисом, условиями и циклами, типами данных и библиотеками. Этот курс поможет разобраться, как в Python работают объявление функций и встроенные методы. В итоге вы начнете писать несложные программы, освоите стандарты именования, а также сможете искать и анализировать ошибки в коде.

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

модули пакеты импорты ошибки отладка программы основы python условия логика циклы функции питон

Программа курса

Продолжительность 56 часов

  • Введение

    Знакомимся с темой курса

    теория

  • Hello, World!

    Пишем первую программу

    теория

    тесты

    упражнение

  • Инструкции

    Знакомимся с основами построения программ на Python

    теория

    тесты

    упражнение

  • Арифметические операции

    Переводим арифметические действия на язык программирования

    теория

    тесты

    упражнение

  • Ошибки оформления — синтаксис и линтер

    Изучаем виды ошибок и способы их решения

    теория

    тесты

    упражнение

  • Строки

    Учимся работать со строками

    теория

    тесты

    упражнение

  • Переменные

    Выясняем, как хранить информацию и переиспользовать уже существующие данные

    теория

    тесты

    упражнение

  • Выражения в определениях

    Учимся использовать переменные и упрощать код

    теория

    тесты

    упражнение

  • Именование

    Учимся правильно именовать переменные

    теория

    тесты

    упражнение

  • Интерполяция

    Изучаем еще один способ работать со строками в Python

    теория

    тесты

    упражнение

  • Извлечение символов из строки

    Учимся получать значения из строк

    теория

    тесты

    упражнение

  • Срезы строк

    Учимся извлекать подстроки

    теория

    тесты

    упражнение

  • Типы данных

    Умножаем число на строку, знакомимся с типами данных и преобразуем их

    теория

    тесты

    упражнение

  • Неизменяемость и примитивные типы

    Узнаем, может ли Python изменять строки или числа

    теория

    тесты

    упражнение

  • Функции и их вызов

    Учимся использовать готовые функции

    теория

    тесты

    упражнение

  • Сигнатура функции

    Выясняем, как функция принимает и возвращает значения

    теория

    тесты

    упражнение

  • Вызов функции — выражение

    Учимся использовать результат работы функций

    теория

    тесты

    упражнение

  • Детерминированность

    Изучаем некоторые свойства функций и особенности их работы

    теория

    тесты

    упражнение

  • Стандартная библиотека

    Знакомимся со стандартной библиотекой

    теория

    тесты

    упражнение

  • Свойства и методы

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

    теория

    тесты

    упражнение

  • Цепочка методов

    Учимся использовать встроенные в Python атрибуты данных

    теория

    тесты

    упражнение

  • Определение функций

    Учимся создавать функции

    теория

    тесты

    упражнение

  • Возврат значений

    Выясняем, как использовать результат работы функции

    теория

    тесты

    упражнение

  • Параметры функций

    Учимся передавать данные в функцию

    теория

    тесты

    упражнение

  • Необязательные параметры функций

    Учимся задавать значения по умолчанию

    теория

    тесты

    упражнение

  • Именованные аргументы

    Знакомимся с еще одним типом аргументов

    теория

    тесты

    упражнение

  • Окружение

    Изучаем, какие значения доступны функциям

    теория

    тесты

    упражнение

  • Логика

    Изучаем логический тип и учимся применять логические операции

    теория

    тесты

    упражнение

  • Логические операторы

    Учимся писать составные условия

    теория

    тесты

    упражнение

  • Результат логических операций

    Подробнее говорим о логических операциях

    теория

    тесты

    упражнение

  • Условные конструкции

    Управляем поведением программы в зависимости от разных условий

    теория

    тесты

    упражнение

  • Оператор Match

    Изучаем специальную версию if для множественных условий

    теория

    тесты

    упражнение

  • Цикл while

    Учимся писать программы для выполнения повторяющихся действий

    теория

    тесты

    упражнение

  • Агрегация данных

    Учимся применять циклы на практике

    теория

    тесты

    упражнение

  • Обход строк

    Учимся обходить и формировать строки в циклах

    теория

    тесты

    упражнение

  • Условия внутри тела цикла

    Учимся управлять поведением программы в цикле

    теория

    тесты

    упражнение

  • Цикл for

    Изучаем еще один цикл в Python

    теория

    тесты

    упражнение

  • Отладка

    Учимся находить ошибки в коде

    теория

    тесты

    упражнение

  • Модули

    Выясняем, как Python работает с кодом, разбитым на несколько файлов

    теория

    тесты

    упражнение

  • Модули поглубже

    Знакомимся с некоторыми частными случаями работы с модулями, которые часто встречаются в документации и в примерах кода

    теория

    тесты

    упражнение

  • Пакеты

    Учимся объединять отдельные модули в группы и работать с такими группами

    теория

    тесты

    упражнение

  • Модуль random

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

    теория

    тесты

    упражнение

  • Кортежи

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

    теория

    тесты

    упражнение

  • История развития языка Python

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

    теория

    тесты

Формат обучения

Испытания

Это практические задания, которые мы советуем выполнить после завершения курса. Задания помогут вам получить дополнительный опыт в программировании и закрепить полученные навыки. Обычно мы рекомендуем выполнить 3-5 испытаний. Но если не получается, не отчаивайтесь. Просто вернитесь к ним позже

Все

Nikita Elistratov19 сентября 2019

Дааааааа!!! Детка, Дааа!!! Я решил сам)))))))) Задание не тяжелое, и возможно некоторые подумают: — Ты смешон))… но меня все равно переполняют эмоции, вот что значит, просто сидеть и думать, думать, думать, перебирать код, перебирать и так далее!))) Сначала я сделал задание как и большинство пользователей))) Но, затем я обратил внимание на: _# обратите внимание на скобки у аргумента функции _ И мозг начал додумывать правильное решение!!! Я рад! Программирование не легкий труд, но он затягивает)))




Kirill21 сентября 2022

Небольшая подсказка для тех, кто отчаялся.

  def truncate(a, b):
    q =  a[:                   
    c =  + '. ..'
    return

Рекомендуемые программы

Профессия

Новый с нуля

Аналитик данных

Сбор, анализ и интерпретация данных

20 апреля 9 месяцев

Профессия

с нуля

Python-разработчик

Разработка веб-приложений на Django

13 апреля 10 месяцев

Основы 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__, в пользовательские классы.

Раздел 10. Исключения

  • Исключения — узнайте об исключениях в контексте объектов
  • Обработка исключений — руководство по правильной обработке исключений с помощью инструкции try.
  • Raise Exceptions — показать вам, как использовать оператор повышения для создания исключений.
  • Поднять исключение из причины — узнайте, как изменить и перенаправить существующее исключение с указанием причины.
  • Пользовательские исключения — пошаговые инструкции по созданию пользовательского класса исключений.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *