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

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

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

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

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

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

Его основные преимущества: интеграция с numpy, использование GPU, скорость выполнения, стабильность и даже динамическая генерация кода на C.

На примере выше я создал простую функцию сигмоиды. На вход она принимает матрицу, на выход — то же самое.

Если вам нужно, чтобы на вход была одна единственная переменная, тогда поменяйте dmatrix на dscalar.

#миниурок #theano
👍1
Что выведет код выше?
Anonymous Quiz
9%
Ничего
4%
1
17%
1 2
46%
Ошибку
24%
Узнать ответ
🤔1
⚡️ Быстро поднимаем http сервер

Время от времени появляется необходимость в быстрой передаче файлов с одного ПК на другой в локальной сети.

В таком случае можно поднять сервер на машине с Python. Для этого, нужно зайти в папку с файлами и набрать в консоле python3 -m http.server.

Если таким способом загрузить файл с другого ПК не получается, проверьте, правильный вы ввели ip-адрес (вместо 0.0.0.0 должен быть ваш ip в сети) и порт.

Всё правильно? Тогда, возможно, ваш брандмауэр, блокирует запросы — исправить это совсем не трудно.

Этот модуль вы можете так же использовать и в скриптах. Подробнее — в документации.
⚡️ Задачка с собеседования | #Easy

Условие:

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

Пример:

sort_dict({"1": 1, "2": 2, "3": 3}) -> {"3": 3, "2": 2, "1": 1}
sort_dict({"obj": 8, 1: 11, "6": 4}) -> {1: 11, "obj": 8, "6": 4}

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

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

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

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

Первым делом необходимо создать наследника от scrapy.Spider. В нём вы задаёте ссылки и реализуете метод parse, который обрабатывает результаты запроса.

Запускать скрипт необходимо с помощью scrapy runspider srappy_file.py, в результате чего вы получите огромный вывод работы фреймворка.

Что бы избавится от логов, можете перенаправить их в файл --logfile=log_file_name.txt или --nolog для полного их отключения (не рекомендуется). А чтобы отделить логи от данных парсинга, добавьте в опции -o output_file.json.

#миниурок #scrapy
Что выведет код выше?
Anonymous Quiz
9%
(1, [6, 4], 3)
46%
(1, [2, 4], 3)
6%
(1, [6, 2], 3)
39%
Ошибку
⚡️ Создаём асинхронные запросы

В этом нам поможет фреймворк aiohttp.

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

Для более быстрой работы DNS запросов стоит установить aiodns: pip install aiodns.

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

Также на сайте есть небольшая информация для пользователей requests.

Пример на картинке выше взят с официального сайта, а больше информации можно найти тут.
⚡️ Задачка с собеседования | #Medium

Условие:

Ваша задача — написать функцию, которая переводит число в время в читабельном виде. Вы можете быть уверены, что число будет не меньше 0 и не больше 8639999.

Число необходимо перевести в день, часы, минуты и секунды. Ну и дополнительной задачей является — забота о выводе. Слово "день" подбирается на основе кол-ва дней, а часы, минуты и секунды должны заполняться нулями при одноцифровых значениях.

Пример:

to_readable(0) -> 0 дней, 00:00:00
to_readable(224930) -> 2 дня, 14:28:50
to_readable(466289) -> 5 дней, 09:31:29
to_readable(8639999) -> 99 дней, 23:59:59

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

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

openpyxl
— модуль, позволяющий эффективно работать с файлами Excel.

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

Начинается вся работа с класса Workbook, который является файлом, содержащий листы. Посмотреть их можно с помощью wb.sheetnames.

После этого выбираем необходимый лист — wb["name"] находит по имени, а wb.active использует последний активный лист.

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

#миниурок #excel
Что выведет код выше?
Anonymous Quiz
25%
[0, 2, 4, 6]
18%
[0, 2, 4]
10%
[1, 3, 5]
47%
[]
game.zip
5.6 KB
⚡️ Создаём игры

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

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

После импорта библиотеки необходимо инициализировать модуль pygame, делается это с помощью команды init.

Управление циклом, отрисовка, загрузка файлов, а также реакции на события ложится на вас.

Пример выше лучше запустить самостоятельно и посмотреть на результат работы.

#миниурок #pygame
⚡️ Работаем с буфером обмена

Для этого нам будет нужна библиотека pyperclip. Она выполняет самые простые функции по копированию и считыванию текста.

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

Вот, что она умеет:

copy(text: str) — получает строку и записывает её в буфер обмена

paste() — возвращает текст из буфера. Думаю, многие знают, что для копии данных в терминале достаточно просто выделить текст. Для получение таких данных добавьте primary=True.

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

Условие:

Ваша задача — написать функцию, которая переводит многомерный массив в одномерный

Пример:

to_one_dimension_list([1, [2, 3, [4,5], 6]]) -> [1, 2, 3, 4, 5, 6]
to_one_dimension_list([1, 2, 3]) -> [1, 2, 3]
to_one_dimension_list([1, [[3]], 5]) -> [1, 3, 5]

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

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