Python Community
12.8K subscribers
1.26K photos
38 videos
15 files
743 links
Python Community RU - СНГ сообщество Python-разработчиков

Чат канала: @python_community_chat

Сотрудничество: @cyberJohnny и @Sergey_bzd

РКН реестр:
https://knd.gov.ru/license?id=67847dd98e552d6b54a511ed&registryType=bloggersPermission
Download Telegram
Что выведет код выше?
Anonymous Quiz
43%
9
16%
6
17%
4
6%
1
18%
Узнать ответ
⚡️ Метод get()

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

Что бы каждый раз не отлавливать ошибки, воспользуйтесь методом get(key, default).

Он возвращает значение, если ключ найден, или второй аргумент, который по умолчанию — None.

#теория
👍1
⚡️ Задачка с собеседования | #Easy

Условие:

Написать функцию, которая будет принимать список и находить уникальное число.

Пример:

find_unique_value([1, 2, 1, 1]) -> 2
find_unique_value([2, 3, 3, 3]) -> 2
find_unique_value([5, 5, 5, 0.5]) -> 0.5

📌 Пишите ваше решение в комментариях. Решение будет через несколько часов на этом канале. 👇

#Задачка_с_собеседования
⚡️ Ответ на предыдущую задачу
⚡️ Создаём интерфейсы для взаимодействия

В этом нам поможет hug — удобный фреймворк, позволяющий быстро создавать API для нескольких интерфейсов.

Установка: pip3 install hug

На данный момент hug является самым быстрым способом создания API-интерфейсов на Python3. Он поддерживает HTTP обработку, cli (командную строку) или локальный запуск скрипта.

Для работы с ним вам нужно просто импортировать модуль, настроить интерфейс (hug.local, hug.get, hug.cli) и запустить скрипт с помощью команды hug -f file.py из терминала.

#миниурок #hug
Что выведет код выше?
Anonymous Quiz
14%
1
12%
2
11%
3
49%
4
13%
Узнать ответ
⚡️ Получаем словарь c переменными

globals, locals, vars — всё это функции, позволяющие узнать о используемых в данный момент переменных.

Вот, что они делают:

globals() — возвращает словарь со всеми переменными в конкретном модуле (внутри которого записана функция).

locals() — возвращает словарь значений из текущего пространства имён. Если это модуль, то вернёт то же, что и globals, иначе — переменные внутри функции.

vars(object) — возвращает атрибут __dict__ из object, если аргумент задан. Иначе работает так же как locals или globals.

Подробнее: locals, globals, vars.
👍1
⚡️ Задачка с собеседования | #Medium

Условие:

Написать функцию, которая будет переворачивать только буквы. То есть внутри строки переместиться с начала в конец должны только буквы, остальные символы (-, =, числа и т.д.) должны остаться на своём месте.

Пример:

reverse_letters("a-bC-dEf-ghIj") -> j-Ih-gfE-dCba
reverse_letters("a-bC=Def+GHi3") -> i-HG=feD+Cba3
reverse_letters("7_28]") -> 7_28]

📌 Пишите ваше решение в комментариях. Решение будет через несколько часов на этом канале. 👇

#Задачка_с_собеседования
⚡️ Ответ на предыдущую задачу
⚡️ Работаем с базой данных SQLite

SQLite
— популярная база данных, основным преимуществом которой является то, что все данные хранятся в одном файле.

Работать с ней в нашем любимом языке можно с помощью предустановленного модуля — sqlite3.

Для начала, стоит подключить базу данных с помощью метода connect(file_path), после — взять курсор с помощью con.cursor() и выполнить действие, используя execute(data, params).

Считывание данных происходит с помощью cursor.fetchall() или cursor.fetchone().

А ещё больше об этом модуле можете прочитать на сайте документации.

#миниурок #sqlite3
⚡️ Операции над множествами

Множества — набор не повторяющихся значений. Создать их можно с помощью set(iter) или используя фигурные скобки ({})

Над множествами можно проводить такие операции:

• Разность (-) — убираем из a все элементы b.

• Пересечение (&) — все элементы и в a, и в b

• Объединение (|) — все элементы, что есть в a или в b

• Симметричное вычитание (^) — все элементы, что есть в a или b но не в обоих множествах

#теория
⚡️ Задачка с собеседования | #Medium

Условие:

Ранее мы делали задачку, где надо было перевести римские числа в десятичную систему.


Теперь задача в том, чтобы сделать наоборот: перевести число в римскую систему чисел. (про символы можно почитать тут).

Значения на входе всегда будут в таком промежутке: 1 <= x <= 4000

Пример:

to_roman(1999) -> MCMXCIX
to_roman(1) -> I
to_roman(1000) -> M
to_roman(21) -> XXI

📌 Пишите ваше решение в комментариях. Решение будет через несколько часов на этом канале. 👇

#Задачка_с_собеседования
⚡️ Ответ на предыдущую задачу
⚡️ Дизассемблируем код

В Python существует интересный модуль под названием dis, позволяющий залезть «под капот».

Этот модуль помогает анализировать CPython байткод, разбирая его. Это один из тех модулей, который позволяет поиграться с языком и изучить его подробнее.

Для экспериментов вам может пригодиться только метод dis, который принимает классы или функции.

Если вам стало интересно, то вы можете перейти на сайт документации.

#миниурок #dis
⚡️ Отсутствующие элементы в словаре

Словари довольно часто используются в работе, и вместо того, чтобы каждый раз получать ошибку при несуществующем ключе, можно просто переопределить её поведение.

В словарях вызывается метод __missing __, если ключа не существует, но унаследовав класс от dict и переопределив метод, мы можем изменить реакцию программы на отсутствующий ключ.

Примерно так же, как и на фото выше, реализован класс defaultdict из модуля collections.

#теория