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

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

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

РКН реестр:
https://knd.gov.ru/license?id=67847dd98e552d6b54a511ed&registryType=bloggersPermission
Download Telegram
⚡️ else в цикле

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

Если появится ошибка или цикл встретит на пути continue, то код из else всё равно сработает.

#теория
Что выведет код выше?
Anonymous Quiz
40%
4.0
40%
4
10%
5.0
3%
5
7%
Узнать ответ
⚡️ Красивые ошибки

Можно скрасить неприятные эмоции от ошибок, установив pretty_errors. Модуль редактирует вывод исключений.

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

А потом ещё пишем python -m pretty_errors, отвечаем на вопросы и пользуемся. Если не знаете, что отвечать, просто нажимайте Enter.

Теперь попробуйте поделить на ноль и схлопнется вселенная и получите ошибку как на фото выше.

#миниурок #pretty_errors
Что выведет код выше?
Anonymous Quiz
9%
[]
38%
[1, 2]
17%
[-1, 0]
25%
Ошибку
12%
Узнать ответ
⚡️ Работаем с Excel

О да, эти таблички. Автоматизировать работу с ними можно за счёт openpyxl.

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

Этот модуль умеет всё то, что умеет Excel (форматирование, формулы, всё доступно), так ещё и нормально работает на Linux.

К тому же у него очень хорошая документация. Там же можно найти уроки, которые помогают начать работать с модулем.

#миниурок #excel
Что выведет код выше?
Anonymous Quiz
36%
0
9%
4
13%
5
26%
Ошибку
16%
Узнать ответ
⚡️ Модуль inspect

С ним вы окунётесь в глубины Python и познаете принципы его работы... Почти. На самом деле он просто вытаскивает данные из объекта или делает какие-то проверки.

signature(obj) — сигнатура, то, как у функции определены аргументы. Используйте, если не понимаете, почему float(x='1') выдаёт ошибку в Python 3.9.

inspect.getmro(class) — если нужно узнать иерархию классов (или можно просто использовать __mro__).

inspect.getsource(obj) — исходный код объекта, inspect.getmodule(obj)) — модуль, в котором находится объект.

#миниурок #inspect
⚡️ Счастливые билетики | #Medium

Условие:

Знаете, в автобусах раздают билеты с номерами. Если сумма цифр первой половины равна сумме цифр второй половины, то билет — счастливый.

Если длина строки не делится нацело на два, то цифру посередине игнорируем. На вход идёт строка только из чисел.

Примеры:

luck_check('56328116') ➞ True
luck_check('123456') ➞ False
luck_check('17935') ➞ True

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

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

Не можете найти слабое место у вашего алгоритма (не можете, поскольку его нет 😎)? Давайте тогда посмотрим на использование ресурсов с помощью scalene.

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

Вам не нужно ничего добавлять в код, просто пишете scalene file.py и получаете вывод, как на фото выше. Преимущества и сравнение можно найти тут.

#миниурок #scalene
Какая из перечисленных инструкций выполнится быстрее всего, если n = 10**6?
Anonymous Quiz
18%
a = list(i for i in range(n))
31%
a = [i for i in range(n)]
38%
a = (i for i in range(n))
14%
a = {i for i in range(n)}
Что выведет этот код?
Anonymous Quiz
33%
1
24%
(1,)
5%
[1]
30%
Ошибку
8%
Узнать ответ
Forwarded from BZD Python lib
Forwarded from BZD Python lib
Что интерпретатор выведет на месте знаков вопроса?
Anonymous Quiz
45%
True, True
25%
False, False
4%
False, True
26%
True, False