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

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

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

РКН реестр:
https://knd.gov.ru/license?id=67847dd98e552d6b54a511ed&registryType=bloggersPermission
Download Telegram
⚡️ Немножко про pip

pip
— пакетный менеджер, используемый для управления пакетами в Python.

pip install <module_name> — загружает проект с этого сайта. pip install -r requirements.txt же устанавливает все зависимости из файла.

pip list выводит информацию об установленных пакетах. А pip show <module_name> выводит информацию о проекте.

pip freeze > requirements.txt — сохраняет все установленные пакеты в requirements.txt. Именно поэтому стоит использовать virtualenv в своих проектах.

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

Условие:

Вам нужно превратить строку в список, состоящий из порядкового номера каждой буквы ('a' = 1, 'b' = 2). Игнорируйте регистр и пропускайте символы, не входящие в алфавит.

Набор символы английского алфавита можно найти в string.ascii_letters.

Пример:

to_alphabet_pos('a-z') -> [1, 26]
to_alphabet_pos('S p A C/ e') -> [19, 16, 1, 3, 5]
to_alphabet_pos('1!60:)7&') -> []

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

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

Установите newspaper — модуль, занимающийся извлечением и анализом газетных статей.

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

newspaper использует requests для загрузки страницы и lxml для их быстрой обработки. Он парсит страницу и даёт доступ к полезной информации (название, текст, авторы, время выхода и другое).

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

#миниурок #newspaper
⚡️ Создаём приложения

Kivy
позволяет создавать GUI приложения для огромного количества платформ: Windows, Android, iOS, Linux.

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

Чаще всего его используют для разработки мобильных приложений. Он не уступает более популярным инструментам для других языков: Xamarin, React Native.

На сайте kivy есть проекты, созданные с использованием этого модуля. Тут можно посмотреть возможности фреймворка. Там же можно найти ссылку на документацию.

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

Условие:

У человека есть старая машина, ценой 2000$. Но ему нужна новая машина, за 8000$. Поэтом,у он решил откладывать 1000$ каждый месяц. Старую машину сразу же продать он не может.

Цена новой машины и старой уменьшается каждый месяц на 1,5%. Это значение увеличивается на 0,5% каждые 2 месяца. Необходимо посчитать, сколько месяцев надо, чтобы накопить на новую машину и сколько денег останется.

Пример:

can_buy(2000, 8000, 1000, 1.5) -> (6, 766)
can_buy(12000, 8000, 1000, 1.5) -> (0, 4000)

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

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

В модуле boltons хранится огромное количество функций, реализованных по подобию встроенных библиотек Python.

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

Внутри хранится множество полезных пакетов, например, для работы с URL — urlutils. Или более простое кеширование данных — cacheutils.

Особо интересными нам показались pathutils — пакет, позволяющий управлять путями, urlutils и dictutils.

#миниурок #boltons
⚡️ Создаём веб интерфейс

Tornado — это асинхронная сетевая библиотека с открытым исходным кодом, позволяющая создавать сайты с сотней открытых соединений.

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

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

Из минусов: проект работает только в одном потоке и не пользуется принципами WSGI, как множество других веб фреймворков.

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

Условие:

Вам нужно получить наибольшее число из цифр входящего числа.

Пример:

digits_order(1234) -> 4321
digits_order(151) -> 511
digits_order(0) -> 0

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

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

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

nonlocal оповещает о работе с идентификатором более высшего уровня доступа. Также требует, чтобы переменная уже была определена.

Подробнее, как обычно, можно почитать в документации.

#теория
⚡️ Цепочка операторов

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

Работает это со всеми операторами сравнения (<, ==, >, ...), [not] is и [not] in. Цепь может состоять из любого количества операторов.

Стоит отметить, что a op1 b op2 c не создаёт никаких связей между a и b, поэтому можно писать так: x < y > z.

Подробнее

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

Условие:

Вам нужно найти строку с наивысшим балом. Бал каждого слова — сума позиций всех букв (a = 1, b = 2).

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

Пример:

highest('do you wanna coffee') -> 'you'
highest('abcd dbcai') -> 'dbcai'
highest('aa b') -> 'aa'
highest('d bb') -> 'd'

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

#Задачка_с_собеседования