Python Community
13.1K subscribers
1.23K photos
22 videos
15 files
705 links
Python Community RU - СНГ сообщество Python-разработчиков

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

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

РКН реестр:
https://knd.gov.ru/license?id=67847dd98e552d6b54a511ed&registryType=bloggersPermission
Download Telegram
Что выведет этот код?
Anonymous Quiz
21%
0
39%
[0]
31%
Ошибку
9%
Узнать ответ
⚡️ Упрощаем поиск багов

Время от времени стоит проверять, правильно ли выполняет функция свою работу и те ли данные она получила. В этом случае нам может помочь assert.

Оператор принимает одну булевскую переменную, которая, если будет равняться False, выбросит исключение AssertionError.

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

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

Условие:

Ваша задача — написать функцию, которая будет переводить CamelCase и Lower CamelCase в Lowercase с подчеркиванием.

Пример:

 -> some_class_name
change_to_lower("variableName") -> variable_name
change_to_lower("test") -> test

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

#Задачка_с_собеседования
⚡️ Ответ на предыдущую задачу
Что выведет этот код?
Anonymous Quiz
14%
6
26%
14
12%
42
48%
Ошибку
⚡️ Работаем с комплексными числами

Встроенный тип complex позволяет преобразовать строку в комплексное число. Для этого достаточно написать некое значение и к нему добавить — это будет комплексное число.

Он принимает в себя строку или real и imag числа. Если же imag не указан, то по умолчанию будет 0.

Для обработки вызывает __complex__(), а если метод не определён, то используется __float__() или __index__().

Действия комплексных чисел с действительными будет возвращать тот же класс — complex.

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

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

Условие:

Ваша задача — написать функцию, которая будет превращать список из нулей и единиц (битов) в целое число.

Пример:

list_to_int([0, 0, 0, 1]) -> 1
list_to_int([0, 1, 0, 1]) -> 5
list_to_int([1, 1, 1, 1, 1]) -> 31
list_to_int([1, 1, 1, 1, 0]) -> 30
list_to_int([1 for _ in range(16)]) -> 65535

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

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

Воспользуемся wget — это небольшая высокоуровневая библиотека, которая загружает файлы из URL-адреса. Это единственное, что она умеет, так что вы не запутаетесь.

Если вам необходимо настроить запрос, то лучше воспользуйтесь requests.

Установка:
pip install wget

Его метод download скачивает файл, отображает ползунок загрузки и возвращает имя файла. Путь вывода вы можете изменить с помощью аргумента out.

Если же вы не желаете писать скрипт, то просто воспользуйтесь ею как модулем. Например python3 -m wget <link>

#миниурок #wget
⚡️ Работаем с csv файлами

В этом нам поможет предустановленный модуль — csv.

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

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

writer же возвращает класс и для записи требует writerow.

Если вы желаете работать с обработанным файлом, то воспользуйтесь DictWriter и DictReader, которые преобразуют данные в список.

#миниурок #csv
Что выведет этот код?
Anonymous Quiz
10%
2
46%
4
18%
6
16%
Ошибку
11%
Узнать ответ
⚡️ Работаем с временем

arrow
— модуль, позволяющий создавать, редактировать, выводить, конвертировать даты. Причины, по которым её лучше использовать вместо встроенных классов, описаны в документации.

Установка: pip install -U arrow

• Для перевода строки в класс Arrow воспользуйтесь методом модуля — get.

• Необходимо узнать время? Пропишите utcnow.

• Желаете внести какие-либо изменения? Тут поможет метод класса — shift.

• Перевести в другую временную зону? Воспользуйтесь to.

• format
переводит класс в читаемую строку, также принимает формат вывода в виде строки.

• humanize — возвращает строку.

#миниурок #arrow #datetime
⚡️ Задачка с собеседования | #Medium

Условие:

Ваша задача — написать функцию, которая будет проверять, делится ли число на два. Стоит отметить, что использовать операцию / и % нельзя. На вход будет идти и отрицательное и положительное число

Пример:
is_even(5) # False
is_even(-4) # True
is_even(-3) # False

Подсказка: -1 должно вернуть False, 0 — True

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

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

Kite
— инструмент на основе глубокого искусственного обучения для упрощения написания кода. Вот основные его преимущества:

Умные подсказки. В отличие от обычных подсказок редакторов кода, он способен давать более разумные и/или часто используемые варианты — к примеру, как здесь.

Легче работать с документацией. При наведении курсора на какую-либо функцию, Kite Copilot в режиме реального времени отобразит подробную информацию об объекте.

Работает на локальном ПК. Ваш код останется только с вами.

Простота в установке. Плагин имеет понятную документацию и поддерживает самые популярные редакторы кода.

#инструмент #kite