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

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

👉 Чат: @abyteofpython
👉 Поделиться с друзьями: @byteofpython
Download Telegram
🔵 Практический интенсив «Python-разработчик: основы за 2 дня» — 23-24 апреля в 19:00 мск.

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

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

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

Переходите по ссылке, чтобы зарегистрироваться на бесплатный практический интенсив и забрать подарки 🎁
Модуль shelve. Продолжение.

Для закрытия подключения к файлу вызывается метод close():

Либо можно открывать файл с помощью оператора with. Сохраним и считаем в файл несколько объектов:

🐍 Укус питона // 💬 Чат // #теория #модули #shelve
Что выведет этот код?
Anonymous Quiz
26%
0 2 1 3 2 4
11%
0 1 2 3 4 5
60%
Error
3%
1 0 2 4 3 5
Модуль shelve. Продолжение.

Запись данных предполагает установку значения для определенного ключа:

А чтение из файла эквивалентно получению значения по ключу:

🐍 Укус питона // 💬 Чат // #теория #модули #shelve
Что выведет этот код?
Anonymous Quiz
26%
1 2 1 1
23%
1 1 2 1
34%
1 2 2 1
17%
1 2 2 2
Чтение данных.

При чтении данных, если запрашиваемый ключ отсутствует, то генерируется исключение. В этом случае перед получением мы можем проверять на наличие ключа с помощью оператора in:

Также мы можем использовать метод get(). Первый параметр метода - ключ, по которому следует получить значение, а второй - значение по умолчанию, которое возвращается, если ключ не найден.

Используя цикл for, можно перебрать все значения из файла:

🐍 Укус питона // 💬 Чат // #теория #модули #shelve
Чтение данных. Продолжение.

Метод keys() возвращает все ключи из файла, а метод values() - все значения:

Еще один метод items() возвращает набор кортежей. Каждый кортеж содержит ключ и значение.

Консольный вывод:

🐍 Укус питона // 💬 Чат // #теория #модули #shelve
Что выведет этот код?
Anonymous Quiz
12%
0.333333
42%
0.33
7%
0.333333:-2
40%
Error
Обновление данных.

Для изменения данных достаточно присвоить по ключу новое значение, а для добавления данных - определить новый ключ:

🐍 Укус питона // 💬 Чат // #теория #модули #shelve
Что выведет этот код?
Anonymous Quiz
22%
0 1 2 3 0
56%
0 1 2 0
12%
0 1 2
9%
Error
Удаление данных

Для удаления с одновременным получением можно использовать функцию pop(), в которую передается ключ элемента и значение по умолчанию, если ключ не найден, первый пример:

Также для удаления может применяться оператор del, второй пример:

Для удаления всех элементов можно использовать метод clear(), последний пример:

🐍 Укус питона // 💬 Чат // #теория #модули #shelve
Что выведет этот код?
Anonymous Quiz
3%
1 1
6%
1 44
44%
3 1
47%
3 44