Telegram Web
Модуль не не поддерживает перегрузку операторов, это возможно только в классах:

class Counter:
def __init__(self, value):
self.value = value
# перегрузка оператора сложения
def __add__(self, other):
return Counter(self.value + other.value)
Абстрактный суперкласс — это класс, который вызывает метод, но не наследует и не определяет его. Он ожидает заполнения метода подклассом. Абстрактные суперклассы часто используются в качестве способа обобщения классов, когда поведение не может быть спрогнозировано до написания кода более специфического подкласса. Объектно-ориентированные фреймворки также применяют их как способ направления на определяемые клиентом настраиваемые операции.

Абстрактный метод - это только объявление метода, без его подробной реализации:


from abc import ABC, abstractmethod

class Animal(ABC):
@abstractmethod
def move(self):
pass

a = Animal()
# TypeError: Can't instantiate abstract class Animal with abstract methods move


class Animal():
@abstractmethod
def move(self):
pass

a = Animal()
🤡3👍21👎1
🔍 Как можно дополнить унаследованный метод, не замещая его полностью?
Anonymous Quiz
12%
Создать новый метод с другим именем и вызвать его вместо унаследованно
27%
Использовать декоратор @override перед определением метода в подклассе
56%
Повторно определить в подклассе, внутри этой новой версии вызвать версию метода из суперкласса с пер
5%
Никак
👍2👎2
Чтобы вместо замещения дополнить унаследованный метод, его понадобится повторно определить в подклассе, но внутри этой новой версии вручную вызвать версию метода из суперкласса с передачей ей экземпляра self: Суперкласс.метод(self, ...).
include="all" принудительно выводит статистику для всех типов столбцов: counts/unique/top/freq для объектов, percentiles для чисел.
👍1👎1
Как создать целочисленную переменную 5?
Anonymous Quiz
13%
x = int(5)
13%
x = 5
74%
Все варианты верны
💊4🤡2👍1👎1
Аллен Б. Дауни «Основы Python»:

«Переменные создаются в момент присвоения значений, и типы определяются динамически во время выполнения. Когда вы выполняете присвоение x = 5, Python автоматически создает переменную x как целое число. Это значит, что вы можете использовать как явное преобразование, так и непосредственное присваивание:

a = int(5) # Явное преобразование
b = 5 # Прямое присваивание

Оба способа сработают, создавая переменные целочисленного типа»
3
🔍 Что выведет код?
Anonymous Quiz
17%
1
18%
2
48%
3
16%
Error
👍2👎1
Пасхавер Б. Pandas в действии, часть I, глава 2:

«Pandas складывает значения на позициях с метками B и C и возвращает значения NaN для оставшихся индексов (A, D и E). Любая арифметическая операция с участием значения NaN
возвращает NaN:

s1 + s2

A NaN
B 14.0
C 23.0
D NaN
E NaN
dtype: float64»
2👍1
Какой оператор используется для сравнения двух значений?
Anonymous Quiz
89%
==
4%
<>
4%
=
3%
><
👎4👍3
Аллен Б. Дауни «Основы Python», глава 4:

Оператор == сравнивает два операнда и возвращает True, если они равны, и False — если нет:

>>> 5 == 5
True
>>> 5 == 6
False

Существуют и другие операторы сравнения: != (не равно), > (больше), < (меньше), >= (больше или равно), <= (меньше или равно).
👍3
Аллен Б. Дауни «Основы Python», глава 4:

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

Метод add() есть у сетов:

fruits = {"apple", "banana", "cherry"}
fruits.add("orange")
2025/07/12 22:43:22
Back to Top
HTML Embed Code: