Python Community
13K subscribers
1.25K photos
28 videos
15 files
728 links
Python Community RU - СНГ сообщество Python-разработчиков

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

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

РКН реестр:
https://knd.gov.ru/license?id=67847dd98e552d6b54a511ed&registryType=bloggersPermission
Download Telegram
⚡️ Форматируем строку

Python ценит читаемость кода, и чтобы не приходилось совмещать строки с помощью + или непонятных %s придумали f-строки.

Пример — f"some {value}". Все выражения внутри {} переводятся в строку. Именно выражения, будет работать и такая строка: f"{a} + {b} = {a + b}".

Стоит заметить, что внутри {} бэкслеш (символы типа n, t, ") не поддерживается, придётся сохранять результат в отдельную переменную. Пустые выражения также не доступны.

Подробнее

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

Условие:

Вам нужно вернуть число в виде строки в расширенной форме. На входе всегда натуральное число.

Пример:

expanded_form(1) -> '1'
expanded_form(1234) -> '1000 + 200 + 30 + 4'
expanded_form(1001) -> '1000 + 1'

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

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

pyscreenshot
— кросс-платформенная библиотека для создания скриншотов. Важно, чтобы был установлен модуль pillow (pip install pillow).

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

Для захвата экрана используем grab(), если нужна определённая область, передайте bbox. После — открываем изображение с помощью show() или сохраняем с помощью save(file_path).

#миниурок #pyscreenshot
Что выведет код выше?
Anonymous Quiz
20%
1 2 3
7%
1 2
27%
3
33%
Ошибку
13%
Узнать ответ
⚡️ Ответ на предыдущую задачу
⚡️ Многострочные строки

Бывает полезно разделить одну строку на несколько, чтобы она легче читалась. Вот несколько способов:

1. Использование "" — позволяет перенести остаток строки на следующую линию кода.

2. Скобочки. При написании кода внутри скобочек "()", использование "" при переносе не обязательно.

2. Особые строки. Можно написать тройные кавычки (""" """), тогда текст будет таким же, как и внутри, с теми же переносами, отступами и символами (", ').

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

Условие:

Нужно написать специальный кодировщик. Если буква повторяется один раз, на его месте пишем "(", иначе — ")". Система не чувствительна к регистру. Учитываются все символы, кроме пробела, переноса строки и другие (string.whitespace).

Пример:

encode('no rep*at') -> '(( (((((('
encode('HeLlo world!') -> '(())) ()()(('
encode(' ') -> ' '

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

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

Модуль textwrap хранит в себе функции для обработки текста: ограничение строки, переносы и другие декорации. Подробнее — в документации.

wrap(text, width=70) — Оборачивает текст так, чтобы длина каждой строки не превышала width.

fill(то же, что и wrap) — сокращение для "n".join(wrap(text, ...)).

shorten(text, width, placeholder=' [...]') — Ограничивает текст до width и добавляет в конце placeholder.

indent(text, prefix) — Добавляет prefix к строкам, разделённым с помощью text.splitlines(True).

#миниурок #textwrap
⚡️ Безопасность превыше всего

Пользователи — главный страх программиста. И чтобы они ничего не сломали при вводе команд в терминал, воспользуйтесь shlex.

split(s) — разделяет строку на основе командного синтаксиса.

join(commands) — объединяет команды в одну строку.

quote(s) — возвращает экранированную строку s.

На самом деле, это лексический анализатор sh, поэтому предназначение его чуть шире, чем просто забота о безопасности (подробнее).

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

Условие:

На вход идёт искомое число и список неотрицательных чисел. Вам нужно понять, есть ли в списке числа, которые являются суммой двух.

Пример:

is_sum(1, [0, 1])
is_sum(9, [2, 4, 5, 7])
is_sum(13, [5, 6, 3, 4])

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

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

— Название Python пошло в честь «Монти Пайтона (Monty Python)» из любимого шоу разработчика — «Летающий цирк Монти Пайтона».

— Он стал интереснее французского языка. Родители и дети в 2015 году в Великобритании выбирали Python, а не французский язык.

— Python считают молодым языком, но на данный момент ему уже примерно 28 лет. Python 1.0 вышла в январе 1994 года.

#теория
Что выведет код выше?
Anonymous Quiz
34%
Hello
3%
world!
4%
Hello world!
54%
Ошибку
5%
Узнать ответ