ru
Feedback
🐍 Укус питона 🐍

🐍 Укус питона 🐍

Открыть в Telegram

🐍 Канал о программировании на языке Python. Тематические уроки и лайфхаки. 👽 Админ - @tg_adminisrator 🔊 Купить рекламу: https://telega.in/c/byteofpython 👉 Чат: @abyteofpython 👉 Поделиться с друзьями: @byteofpython

Больше
2 334
Подписчики
Нет данных24 часа
-117 дней
-3730 день
Архив постов
Что выведет код сверху?
Anonymous voting

photo content

💩 Какова разница между методами getattr и getattribute? Оба этих метода являются магическими. 🔘getattr

class Missing:
    attr = 42

    def getattr(self, name):
        print(f"In getattr, asked for {name}")
        return 73

m = Missing()
print(m.attr)  # 42
print(m.xyz)  # In getattr, asked for xyz; 73
Пример кода выше показывает, как метод используется для обработки запроса несуществующего атрибута xyz. 🔘getattribute

class Always:
    attr = 42

    def getattribute(self, name):
        print(f"In getattribute, asked for {name}")
        return 73

a = Always()
print(a.attr)  # In getattribute, asked for attr; 73
print(a.xyz)  # In getattribute, asked for xyz; 73
Здесь же можно увидеть, что метод используется для обработки запросов всех атрибутов, как существующих (attr), так и несуществующих (xyz). ✅ Таким образом, getattribute — это метод, который управляет всеми запросами атрибутов, тогда как getattr вызывается, когда getattribute не находит атрибут.

✈️Метод subclasshook используется для определения, является ли один класс подклассом другого. Он вызывается при проверке isin
✈️Метод subclasshook используется для определения, является ли один класс подклассом другого. Он вызывается при проверке isinstance() и issubclass() для определения отношения наследования между классами. ⬆️Этот метод позволяет настроить поведение этих функций для пользовательских классов. ➡️Пример:
class A:
    def init(self, value):
              self.value = value

class B:
    def init(self, value):
        self.value = value

    def subclasshook(cls, subclass):
        return (hasattr(subclass, 'value') and
                callable(subclass.value) and
                subclacc.value.name == 'print_value')

class C:
    def init(self, value):
        self.value = value

    def  print_value(self):
         print(self.value)

a = A(5)
b = B(10)
c = C(15)

# Проверка
print(issubclass(C, B)) # True
print(issubclass(A, B)) # False
⬆️В примере метод subclasshook класса B проверяет, есть ли у подкласса метод print_value. Если да, то возвращает True, что позволяет считать его подклассом B.

Что выведет данный код
Anonymous voting

photo content

photo content

Что выведет код?
Anonymous voting

photo content

photo content

Прокачай свои скилы с Алексеем Рыбаком! 🚀 Надоели скучные задачи по программированию? 💻 Время перейти на новый уровень! 🎖П
Прокачай свои скилы с Алексеем Рыбаком! 🚀 Надоели скучные задачи по программированию? 💻 Время перейти на новый уровень! 🎖Приглашаем бекендеров и инженеров инфраструктуры на уникальный трехмесячный курс по системному дизайну и архитектуре высоконагруженных систем от Алексея Рыбака, главы разработки Bumble/Badoo с 20-летним опытом в highload проектировании. В чем ценность этого курса? ✅ Огненная практика с первых дней обучения на реальных кейсах и собственной инфраструктуре ✅ Погружение «под капот» хайлоад систем, изучение паттернов и приемов масштабирования ✅ Топовые фишки и знания по архитектуре проектов и системному дизайну больших проектов (1-100M DAU) ✅ Живые сессии, брейнштормы, проектирование “у доски” На выходе у вас появится опыт: ✅ Проектирования сложных систем ✅ Нагрузочного тестирования своей инфраструктуры (выжмете 100К запросов) ✅ Планирования ресурсов для проектов с большим количеством пользователей ✅ Масштабирования IT-проектов ✅ Практический опыт работы с кластерами Redis, CockroachDB и шардированными PostgreSQL/MySQL ✅ И многое другое! ➡️ Регистрируйся и погружайся в нескучный хайлоад Реклама ИП Рыбак А. А. ИНН 771407709607

Что выведет код?
Anonymous voting

photo content

✈️Python имеет встроенный модуль zipfile, который предоставляет функционал для работы с архивами ZIP. Давайте создадим просто
✈️Python имеет встроенный модуль zipfile, который предоставляет функционал для работы с архивами ZIP. Давайте создадим простой пример, чтобы продемонстрировать его возможности:
import zipfile

# Создаем новый ZIP файл
with zipfile.ZipFile('новый_архив.zip', 'w') as new_zip:
    # Добавляем файлы в архив
    new_zip.write('file1.txt')
    new_zip.write('file2.txt')
    # Можно добавить еще файлы по мере необходимости
⬆️Этот небольшой код создает новый ZIP архив под именем новый_архив.zip и помещает в него файлы file1.txt и file2.txt. ➡️Модуль zipfile обладает широкими возможностями, позволяя извлекать файлы, читать содержимое архива, добавлять и удалять файлы, а также многое другое. Это удобный инструмент, который позволяет манипулировать архивами непосредственно из кода Python.Если вам интересно узнать больше о модуле zipfile или экспериментировать с архивами в Python, рекомендую обратиться к официальной документации Python.

Что выведет этот код?
Anonymous voting

photo content

photo content

Что выведет этот код?
Anonymous voting

photo content

photo content