🐍 Укус питона 🐍
2.6K subscribers
978 photos
18 videos
284 links
🐍 Канал о программировании на языке Python. Тематические уроки и лайфхаки.

👽 Админ - @it_dashka
🔊 Купить рекламу: https://telega.in/c/byteofpython

👉 Чат: @abyteofpython
👉 Поделиться с друзьями: @byteofpython
Download Telegram
Что выведет этот код?
Anonymous Quiz
41%
[1, 2]
28%
1 2
18%
[1, 2, 3]
13%
Узнать ответ
🚀 Почему Python — лучший язык для создания Telegram-ботов?

Только начинаете свой путь в разработке? Ждём вас на открытом практическом уроке от OTUS, где мы:
— установим и настроим необходимые инструменты для создания Telegram-ботов;
— рассмотрим формат работы с библиотекой Python-telegram-bot;
— создадим простого бота;
— расширим его функциональность с помощью дополнительных возможностей;
— рассмотрим примеры работы готовых ботов;
— выясним, почему именно Python идеален для создания Telegram-ботов. 

Встречаемся 10 июля в 20:00 мск в преддверии старта курса «Специализация Python Developer». Все участники вебинара получат специальную цену на обучение.

🔴 Регистрируйтесь прямо сейчас, чтобы не пропустить бесплатный урок и создать классный проект для своего портфолио: https://otus.pw/wh80/?erid=LjN8KLEyM
ООП - это сокращение от "объектно-ориентированное программирование". Это методология программирования, которая использует объекты и их взаимодействие для решения задач. ООП стал широко распространенным подходом в программировании, и понимание его основных концепций может быть полезным для разработчиков.

➡️ Преимущества ООП:

ООП предлагает ряд преимуществ, которые делают его популярным подходом в программировании.

➡️ Во-первых, ООП способствует повышению переиспользуемости кода. Разработчики могут создавать модули и классы, которые можно использовать в различных проектах.

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

➡️ В-третьих, ООП позволяет создавать более надежные программы. Благодаря инкапсуляции и строгой организации кода, ошибки и проблемы могут быть обнаружены и исправлены более эффективно.
Что выведет этот код?
Anonymous Quiz
30%
True
53%
False
12%
Ошибку
4%
Узнать ответ
Что выведет этот код?
Anonymous Quiz
62%
True
32%
False
5%
Ошибку
1%
Узнать ответ
Объекты - это экземпляры классов, а классы служат шаблонами для создания объектов. У каждого объекта есть свои собственные атрибуты (переменные, данные) и методы (функции, действия), которые определяют его поведение и взаимодействие с другими объектами.

Например, если у нас есть класс "Автомобиль", мы можем создать несколько объектов этого класса, таких как "Машина1" и "Машина2". Каждый объект будет иметь свои уникальные атрибуты, такие как "марка", "модель", и методы, например "завести двигатель" или "передвинуться вперед".

➡️ Преимущества использования объектов в Python

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

Во-вторых, объекты позволяют создавать сложные структуры данных и абстракции. Мы можем создавать классы, представляющие реальные или воображаемые объекты, и определять их взаимодействие друг с другом.
Что выведет этот код?
Anonymous Quiz
8%
0
63%
27
25%
Ошибку
4%
Узнать ответ
Какой из этих двух классов вызывается первым ?
Спросят с вероятностью 3%


При создании объекта класса в Python, порядок вызова конструкторов определяется методом разрешения порядка (MRO) и зависит от иерархии наследования.

Для примера с двумя классами, где один наследуется от другого:
class A:
def init(self):
print("Constructor of A")

class B(A):
def init(self):
print("Constructor of B")
super().__init()

# Создание экземпляра класса B
b = B()


Порядок вызова будет следующим:
1️⃣ При создании объекта класса B сначала вызывается его initinit.
2️⃣ Затем внутри конструктора B вызывается super().__init(), что приводит к вызову конструктора базового класса A.

Таким образом, сначала вызывается конструктор B, а затем конструктор A.

Метод разрешения порядка (MRO) определяет порядок обработки классов при наследовании. Для получения MRO для класса можно использовать атрибут mro или функцию mro().

Например:
print(B.mro())


Результатом будет кортеж, указывающий порядок разрешения методов для класса B. При множественном наследовании MRO становится еще более важным.

Важно помнить, что при создании объекта класса сначала вызывается конструктор самого класса, затем конструкторы его базовых классов в порядке, определенном MRO. В случае множественного наследования порядок вызова конструкторов определяется методом разрешения порядка (MRO).
Что выведет код сверху?
Anonymous Poll
23%
[1, 2, 3]
1%
[1, 2, 3, 4]
43%
[1, 2, 3, 5]
32%
[1, 2, 3, 4, 5]