Что выведет этот код?
Anonymous Poll
14%
<generator object zeros at ...>
60%
[0, 0, 0, 0]
20%
Ошибку
6%
Узнать ответ
💩 Какова разница между методами getattr и getattribute?
Оба этих метода являются магическими.
🔘
Пример кода выше показывает, как метод используется для обработки запроса несуществующего атрибута xyz.
🔘
Здесь же можно увидеть, что метод используется для обработки запросов всех атрибутов, как существующих (attr), так и несуществующих (xyz).
✅ Таким образом,
Оба этих метода являются магическими.
🔘
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
не находит атрибут.✈️Python имеет встроенный модуль
⬆️Этот небольшой код создает новый ZIP архив под именем новый_архив.zip и помещает в него файлы file1.txt и file2.txt.
➡️Модуль
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.👍3
Что выведет код?
Anonymous Poll
26%
('lup', 'i', 'n')
27%
('l', 'u', 'p', 'i, 'n')
15%
('lupin')
32%
Ошибку