Я чувствую, что это более общий вопрос, но вот пример, который я рассматриваю: у меня есть класс python, который во время его инициализации проходит через zip-архив и извлекает некоторые данные.Является ли pythonic вызовом методов из внутреннего инициализатора класса?
Должен ли код-кусок ниже быть явно указан внутри «def init» или должен быть выполнен как метод, вне которого будет вызываться внутри «def init»? Какой подход является самым «питоническим»?
with ZipFile(filename, "r") as archive:
for item in archive.namelist():
match = self.pattern.match(item)
if match:
uid = match.group(2)
time = match.group(3)
else:
raise BadZipFile("bad archive")
Всегда целесообразно группировать связанные операторы для определенной цели в отдельном методе. –