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

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

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

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

Это — расширение для срезов. Таким образом, пользователи могут добавлять своё особое поведение в срезы, просто поменяв код __getitem__.

А троеточие — всего лишь константа, обозначающая Ellipsis, то есть matrix[0, ..., 0] и matrix[0, Ellipsis, 0] это одно и то же.

Эту фичу реализует numpy (см. пример). Почитать про неё подробнее можно тут и тут.

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

Условие:

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

Пример на фото выше.

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

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

FastAPI
— отличный фреймвок для создания RESTful API. Им пользуются Uber, Netflix, Microsoft, поскольку писать код намного проще, а допустить ошибку сложнее.

Установка: pip install "fastapi[all]"

Модуль использует Pydantic, а значит множество проблем с типами будут решены. Также, в сравнении с NodeJS и Go он раза в 2-3 быстрее решает задачи.

И это ещё не всё, о всех преимуществах модуля можно прочитать в документации, в разделе Features.
⚡️ Roadmap Python-разработчика

Актуальная информация для полных новичков. Спойлер: читать всё, что попадается под руку — плохой вариант, ведь в любом деле важна последовательность.

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

Подробнее

#roadmap
👍1
⚡️ Python прямо в браузере

Речь пойдёт об интересной альтернативе JavaScript, а именно — brython. Модуль позволяет писать код на Python прямо внутри HTML файла.

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

Для работы вам надо подключить brython.js, запустить функцию brython() при загрузке страницы (onload в body) и наслаждаться работой.

Кстати, перемещать большие скрипты Python в отдельный и подключать их можно. Документацию с классными примерами можно найти тут.

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

Условие:

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

Пример:

solution('') ➞ 0
solution('abcde') ➞ 0
solution('abcdeaB') ➞ 2

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

#Задачка_с_собеседования
👍1
⚡️ Ответ на предыдущую задачу
Что выведет код выше?
Anonymous Quiz
16%
0
7%
100
12%
500
15%
400
37%
Ошибку
13%
Узнать ответ
⚡️ Паттерн команда

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

Самый просто пример её использования — история действий (в IDE, Photoshop, etc).

Или кнопки, которые выглядят одинаково, но работают по разному.

Как вам темы, не связанные напрямую с Python? Стоит ли продолжать? Напишите в комментариях 👇

#паттерны #command
👍2
⚡️ Паттерн состояния (State)

Благодаря ему мы можем менять поведение объекта на основе его состояния. Вы могли слышать про него, изучая концепции машины состояний (конечный автомат).

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

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

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

Условие:

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

Пример:

revrot('123456987653', 6) ➞ '234561356789'
revrot('66443875', 4) ➞ '44668753'
revrot('664438769', 8) ➞ '67834466'
revrot('123456779', 8) ➞ '23456771'

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

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