🐍 Укус питона 🐍
2.6K subscribers
980 photos
18 videos
284 links
🐍 Канал о программировании на языке Python. Тематические уроки и лайфхаки.

👽 Админ - @it_dashka
🔊 Купить рекламу: https://telega.in/c/byteofpython

👉 Чат: @abyteofpython
👉 Поделиться с друзьями: @byteofpython
Download Telegram
Создание и закрытие файла. Продолжение.

После окончания работы с архивом для его закрытия применяется метод close():

Но так как ZipFile также представляет менеджер контекста, то он поддерживает выражение with, которое определяет контекст и автоматически закрывает файл по завершению контекста:

🐍 Укус питона // 💬 Чат // #теория #запись #чтение #zip #файлы
Запись файлов в архив.

Для записи файлов в архив применяется файл write():

Первый параметр представляет файл, который записиывается в архив. Второй параметр - arcname устанавливает произвольное имя для файла внутри архива (по умолчанию это само имя файла). Третий параметр - compress_type представляет тип сжатия, а параметр compresslevel - уровень сжатия.

Например, запишем в архив "metanit.zip" файл "hello.txt" (который, как предполагается, находится в той же папке, где и текущий скрипт python):

🐍 Укус питона // 💬 Чат // #теория #запись #чтение #zip #файлы
🔵 Практический интенсив «Python-разработчик: основы за 2 дня» — 15-16 мая в 19:00 мск.

О перспективах направления Python и многом другом расскажет Грегори Салиба, старший разработчик ЭквантаЛаб с опытом в разработке более 3 лет. 

На вебинаре вы:

☑️ Самостоятельно напишете Telegram-бота с карточными мини-играми.
☑️ Познакомитесь с синтаксисом языка и сферами его применения.
☑️ Поймете как продолжить обучение, какие навыки потребуются, чтобы стать backend-разработчиком на Python.
☑️ Узнаете, чего ждут работодатели от junior-разработчиков и что делать, чтобы найти работу без опыта.

🎁 Приятные бонусы: полезный гайд для начинающего Python-разработчика и гайд о сленге в IT всем участникам интенсива!
Что выведет этот код?
Anonymous Quiz
3%
r
4%
b
10%
D
82%
k
Запись файлов в архив. Продолжение.

Стоит учитывать, что при открытии файла в режиме "w" при всех последующих записях текущее содержимое будет затираться, то есть фактически архивный файл будет создаваться заново. Если нам необходимо добавить, то необходимо определять zip-файл в режиме "a":

🐍 Укус питона // 💬 Чат // #теория #запись #чтение #zip #файлы
Выборка простых чисел в списке любого размера

Найти этому коду реальное применение непросто. Однако этот код легко адаптировать для поиска других типов чисел, таких как четные, нечетные или чисел, делящихся на определенное число.

🐍 Укус питона // 💬 Чат // #теория #if #конструкции
Методы сравнения объектов между собой

Метод lt(self, other) в Python используется для определения порядка сортировки объектов при использовании встроенных функций сортировки, таких как sorted(). Реализация этого метода в классе позволяет указать атрибуты объекта, которые должны учитываться при сравнении с другими объектами для определения их относительного порядка.

Например, предположим, у нас есть класс Point, который представляет точку на плоскости с атрибутами x и y. Мы можем определить метод lt(self, other) в классе Point таким образом, чтобы при сравнении двух точек учитывался их порядок по оси x, а в случае равенства координат по оси x - по оси y.

🐍 Укус питона // 💬 Чат // #теория #if #конструкции
Методы сравнения объектов между собой. Продолжение.

Метод le(self, other) позволяет определить поведение объекта вашего класса при сравнении с другим объектом с использованием оператора <=. Например, если необходимо устанавливать определенные критерии сравнения для объектов вашего класса (например, на основе их атрибутов), можно переопределить метод le(self, other) таким образом, чтобы он возвращал True, если объект self меньше или равен объекту other согласно этим критериям, и False в противном случае.

🐍 Укус питона // 💬 Чат // #теория #if #конструкции
Создание и удаление объектов

Любое описание объекта в объектно-ориентированном программировании начинается с создания объекта и его удаления.

Метод new(cls[, ...]) в Python используется для создания типа класса. Он принимает тип класса в качестве первого аргумента и, обычно, возвращает этот же тип. Этот метод часто применяется для настройки создания экземпляров классов, особенно тех, которые наследуются от неизменяемых типов, таких как int, str или tuple.

init(self[, ...]) — конструктор класса. Используется при определении объектов.

init_subclass(cls) — позволяет переопределить создание подклассов объекта.

🐍 Укус питона // 💬 Чат // #теория #if #конструкции
Что выведет этот код?
Anonymous Quiz
30%
True
26%
False
37%
Ошибку
7%
Узнать ответ