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

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

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

РКН реестр:
https://knd.gov.ru/license?id=67847dd98e552d6b54a511ed&registryType=bloggersPermission
Download Telegram
⚡️ Задачка с собеседования | #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'

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

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

На этот раз речь пойдёт о модуле Pendulum. С ним работать намного легче и интуитивно понятнее, чем с встроенным классом datetime.

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

Это модуль с отличной документацией, который значительно уменьшает количество кода при работе с временем.

Также он упрощает изменение дат и перевода их в язык, понятный человеку. Но самое интересные фичи, это period() и duration().

#миниурок #pendulum
Что выведет код выше?
Anonymous Quiz
7%
0
29%
1
37%
2
18%
Ошибку
9%
Узнать ответ
👍1
⚡️ Паттерн наблюдатель (Observer)

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

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

Есть клиенты, которые хотят купить его. Они подписываются на событие (когда товар появится в наличие) и получают уведомление о том, что товар прибыл.

#паттерны #observer
👍1