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

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

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

РКН реестр:
https://knd.gov.ru/license?id=67847dd98e552d6b54a511ed&registryType=bloggersPermission
Download Telegram
⚡️ Часто используемые методы в numpy

Numpy — это библиотека для выполнения математических операций. Она быстрее и имеет больше возможностей, чем Python по умолчанию.

• np.array — создаёт numpy массив из списка. np.zeros, np.ones, np.empty также создают массив, но заполняют его нулями, единицами, и случайными значениями.

• p.concatenate — соединяет несколько массивов в один. Принимает кортеж из массивов. Также можно передать axis, который будет считать, в каком направлении их нужно соединять.

• arr.reshape — преобразует форму arr в переданный аргумент. Какая форма установлена сейчас, можно посмотреть, написав arr.shape.

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

Условие:

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

Пример:

is_prime_number(1) -> True
is_prime_number(2) -> True
is_prime_number(9) -> False
is_prime_number(117) -> False
is_prime_number(127) -> True

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

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

Метакласс — это класс для создания типов. Помните, ранее мы писали про type? Так вот, вы можете создать свою реализацию этого объекта.

Метакласс задаётся при создании класса — для этого в скобочках необходимо написать metaclass=MetaClassType.

На примере выше мы просто переводим все атрибуты в нижний регистр при создании класса.

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

Поэтому если вы новичок и ничего не поняли, то ничего страшного.

#миниурок #метаклассы
Что выведет код выше?
Anonymous Quiz
13%
Ничего
8%
1
33%
1 2
30%
Ошибку
16%
Узнать ответ
⚡️ Визуализируем инфорацию

В этот раз поговорим о библиотеке bokeh, которая помогает строить графики особых знаний.

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

Модуль позволяет составлять множество графиков и переводит всё это в html. После этого вы можете взаимодействовать с ними и, например, экспортировать изображение из браузера.

На примере выше мы берём информацию (она взята из SteamDB), создаём фигуру и заполняем её информацией, а с помощью show выводим данные в html и открываем в браузере.

Почитать ещё больше об этом можно на сайте документации.
⚡️ Задачка с собеседования | #Easy

Условие:

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

Пример:

check_syntax("( 1 + 2 )") -> True
check_syntax("( 1 + )") -> False
check_syntax("1 + -22") -> True
check_syntax("(1 + -22") -> False

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

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

pretty_errors
— модуль, редактирующий вывод исключений.

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

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

После установки необходимо написать python -m pretty_errors. Программа задаст парочку вопросов, необходимых для работы модуля. Если вы не знаете, что отвечать, просто нажимайте enter.

При запуске любого python файла и появлении ошибки запустится pretty_errors, и вы получите отредактированный вывод, как на примере выше.

#миниурок #pretty_errors
Что выведет код выше?
Anonymous Quiz
30%
1
18%
2
6%
3
29%
Ошибку
17%
Узнать ответ
⚡️ Создаём диаграммы прямо внутри python

Диаграммы помогают легче описать команде архитектуру приложения, а в этом поможет модуль diagrams.

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

Первым делом необходимо импортировать класс Diagram. Поскольку он работает с файлом (создаёт изображение с диаграммой), то необходимо закрывать класс после работы. Удобнее всего это делать с помощью with.

Потом мы импортируем типы из diagrams.aws (весь список можно посмотреть тут). После — создаём между ними связи с помощью побитового смещения (<<, >>) и символа "-". Подробнее в той же ссылке.

Если вам интересно, вот ещё парочка примеров с официального сайта.
⚡️ Задачка с собеседования | #Easy

Условие:

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

Каждое войско даёт разную силу. Воин — 1, лучник — 2, Гигант — 5, волшебник — 10. Тип героя зависит от индекса. Функция возвращает текст с победившей командой или ничью, если счёт равен.

Пример:

who_won([1, 1, 1, 1], [1, 1, 1, 1]) -> Ничья
who_won([1, 1, 1, 0], [0, 0, 1, 1]) -> Команда2 победила
who_won([6, 4, 3, 1], [12, 0, 0, 1]) -> Команда1 победила

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

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

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 в сети) и порт.

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

Этот модуль вы можете так же использовать и в скриптах. Подробнее — в документации.