Python: задачки и вопросы
رفتن به کانال در Telegram
Вопросы и задачки для подготовки к собеседованиям и прокачки навыков Разместить рекламу: @tproger_sales_bot Правила общения: https://tprg.ru/rules Другие каналы: @tproger_channels Другие наши проекты: https://tprg.ru/media
نمایش بیشتر7 128
مشترکین
-424 ساعت
+87 روز
-230 روز
آرشیو پست ها
Аллен Б. Дауни «Основы Python»:
«Переменные создаются в момент присвоения значений, и типы определяются динамически во время выполнения. Когда вы выполняете присвоение x = 5, Python автоматически создает переменную x как целое число. Это значит, что вы можете использовать как явное преобразование, так и непосредственное присваивание:
a = int(5) # Явное преобразование
b = 5 # Прямое присваивание
Оба способа сработают, создавая переменные целочисленного типа»
include="all" принудительно выводит статистику для всех типов столбцов: counts/unique/top/freq для объектов, percentiles для чисел.
Чтобы вместо замещения дополнить унаследованный метод, его понадобится повторно определить в подклассе, но внутри этой новой версии вручную вызвать версию метода из суперкласса с передачей ей экземпляра self: Суперкласс.метод(self, ...).
Общий сбор питонистов на митапе ЮMoney ™️
Питоняшки — бесплатный митап ЮMoney для Python-разработчиков.
✅ 3 июля, в четверг, в 19:00 (мск) — приходите на митап в Санкт-Петербурге или подключайтесь онлайн.
О чём будут доклады?
🟣 Это не те метрики, что вы ищете. Разберётесь, почему стандартного экспортёра может не хватать, и как написать свой на Python.
🟣 Кодогенерация: как компьютеры учатся писать код за нас. Узнаете про прошлое, настоящее и будущее кодогенерации в разных языках программирования.
🟣 Ruff: как не положить всё, переходя на новые правила? Узнаете больше про линтеры, форматтеры и подводные камни при переходе на Ruff.
🟣 Секреты успеха змеи в мире пауков. Узнаете, как команда ЮMoney применяла scrapy и playwright в продукте, чтобы создать сервис модерации сайтов.
Зарегистрируйтесь, чтобы принять участие. Все подробности — на сайте митапа Питоняшки 🔥
Это #партнёрский пост
🔍 Как можно дополнить унаследованный метод, не замещая его полностью?
Абстрактный суперкласс — это класс, который вызывает метод, но не наследует и не определяет его. Он ожидает заполнения метода подклассом. Абстрактные суперклассы часто используются в качестве способа обобщения классов, когда поведение не может быть спрогнозировано до написания кода более специфического подкласса. Объектно-ориентированные фреймворки также применяют их как способ направления на определяемые клиентом настраиваемые операции.
Абстрактный метод - это только объявление метода, без его подробной реализации:
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()
Модуль не не поддерживает перегрузку операторов, это возможно только в классах:
class Counter:
def __init__(self, value):
self.value = value
# переопределение оператора сложения
def __add__(self, other):
return Counter(self.value + other.value)
Всё решаете задачки по Python? Пришло время двигаться дальше и познакомиться с нечеткими числами и другими алгоритмами из теории нечетких множеств!
И уже существует инструмент, реализованный на Python, для работы с нечеткими величинами - библиотека FuzzyOps!
Проект с открытым исходным кодом FuzzyOps предоставляет работу с:
• Нечеткими числами в объектно-ориентированной парадигме;
• Нечеткую арифметику, в том числе и на GPU;
• Алгоритмы нечеткого логического вывода;
• Нечеткие методы линейной оптимизации;
• Нечеткие нейронные сети;
• Нечеткая линейная регрессия, и много других полезных функций.
В репозитории проекта и на Wiki вы найдете большое количество примеров использования кода в реальных задачах. Кроме того, все желающие могут присоединиться к разработчикам для дальнейшего развития проекта.
Это #партнёрский пост
Замыкание (closure) или фабричная функция это функция определяемая и возвращаемая другой функцией, при этом замыкание получает доступ к значениям и объектам в области видимости "родительской" (или объемлющей) функции независимо от того из какой области видимости происходит вызов замыкания.
В самом низу располагается объект с его атрибутами. Код программы создает дерево объектов в памяти, где будет происходить поиск со стороны наследования атрибутов. Обращение к классу создает новый экземпляр, который запоминает свой класс, выполнение оператора class создает новый класс, а суперклассы перечисляются внутри круглых скобок в заголовке оператора class. Каждая ссылка на атрибут запускает новую процедуру восходящего поиска в дереве - даже ссылки на атрибуты self внутри методов класса.
اکنون در دسترس! پژوهش تلگرام ۲۰۲۵ — مهمترین بینشهای سال 
