Python community developers
1.38K subscribers
367 photos
45 videos
6 files
241 links
Сообщество программистов на языке Python🙂
🔥Разбор вопросов и задач с собеседований
🔥Обзор популярных библиотек и фишек языка
🔥Интересные идеи программ

Сотрудничество - @BorryaD

@Python_community_developers_bot
加入频道
Форматирование строк для URL-адресов

Стоит вспомнить, что slug — это уникальная строка-идентификатор, понятная человеку и содержащая только безопасные символы: латинские символы в нижнем регистре, цифры и дефис.

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

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

Также для удаления некоторых символов и замены на знак дефиса были использованы регулярные выражения и встроенный пакет re для работы с ними.
Прогресс выполнения программы

Индикаторы прогресса добавляют наглядности в скриптах, которые исполняют какие-то функции, требующие времени для выполнения. Модуль tqdm является простым и лаконичным вариантом.

Привычный range можно заменить на trange для визуализации прогресса. А для итерации по какой-либо последовательности достаточно просто передать её в функцию tqdm. Также модуль хорошо себя зарекомендовал и в Jupyter Notebook.
Duck typing

Duck typing — это парадигма в программировании, используемая в языках с динамической типизацией, таких как Python. Суть duck typing заключается в том, что тип объекта определяется его поведением (методами и свойствами), а не явно указанным интерфейсом или базовым классом.

В Python duck typing часто выражается фразой: «Если это выглядит как утка, плавает как утка и крякает как утка, то это, вероятно, и есть утка.»

#doc #python
🔥 Полезные библиотеки Python

Telethon — библиотека предназначена для облегчения разработки программ на Python, которые могут взаимодействовать с платформой Telegram.

⚙️ GitHub/Инструкция

#python
В чём разница между типами list и tuple?

В Python, список (list) и кортеж (tuple) являются двумя различными типами данных, которые предоставляют набор элементов в определенном порядке. Основная разница между ними заключается в том, что список может быть изменен (мутабельный тип), а кортеж является неизменяемым (иммутабельным типом).

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

#doc #python
Функция range()

Для итерации индексов последовательности можно объединить range() и len() следующим образом (Код 1)

Однако в большинстве таких случаев удобнее использовать функцию enumerate(), если просто напечатать range, то происходит что-то странное (Код 2)

Во многоногих случаях объект, возвращаемый range() ведёт себя как список, но на самом деле это не так. Это объект, который возвращает последовательно элементы желаемой последовательности при выполнении итерации, но на самом деле он не создаёт список, тем самым экономя пространство.

Мы называем такие объекты итерируемыми, и это все объекты, которые предназначаются для функций и конструкций, ожидающих от них поочерёдного предоставления элементов до тех пор, пока источник не иссякнет. Мы видели, что оператор for является такой конструкцией, в то время как пример функции который принимает итерируемое значение sum() (Код 3)

Наконец, может быть, вам интересно, как получить список из range. (Код 4)

#doc #python
Мультичек на сумму 0.01 TON ≈ 4.81 RUB

Сумма одной активации: 0.0001 TON ≈ 0.05 RUB
Количество активаций: 100
Aiogram

aiogram — это современный и полностью асинхронный фреймворк для Telegram Bot API, написанный на Python с использованием asyncio. Это удобная и полностью асинхронная библиотека для создания ботов. Написанные с ее помощью боты отличаются высокой скоростью работы и способностью оперативно справляться с большим трафиком.

Репозиторий GitHub

📘 Инструкция на русском

Установка:

pip install aiogram


#telegram #bot #python
Прочитать произвольную строку из файла

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

И конечно же не обошлось без приветствия, вы специально заготовили несколько различных вариантов в файле text.txt:

Приветствую!
Здравствуйте!
Ку, здарова.
Добрый день!
Привет!

Чтобы вывести это на экран, может помочь функция getline из модуля linecache. В чем главное отличие этой функции от обычного метода чтения из файла? Функция getline кеширует все строчки файла в списке, так что следующие вызовы get_answer отработают моментально.

#doc #python
Делаем планировщик задач

К моему удивлению, далеко не все знают про пакет schedule, который позволяет планировать задачи и повторять их через промежуток времени.

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

Здесь на самом деле даже объяснять особо нечего, логика методов в этом пакете понятна на примерах.

#doc #python
🔥 Полезные библиотеки Python

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

⚙️ GitHub/Инструкция

#python #github #soft
This media is not supported in your browser
VIEW IN TELEGRAM
🔥 Полезные библиотеки Python

SAHI
- легковесная библиотека машинного зрения для обнаружения крупномасштабных объектов и сегментации экземпляров.

⚙️ GitHub/Инструкция

#python #ml
🔥 Полезные библиотеки Python

StegoPy
- стеганография с Python3 и алгоритмом LSB. Утилита позволяющая шифровать и прятать текст в изображениях.

⚙️ GitHub/Инструкция

#python #github #soft
Изучаем Python (Том 2)

Автор: Марк Лутц
Год издания: 2023

Скачать книгу

#book
Генерируем фейковый профиль человека

С помощью метода profile пакета Faker мы с легкостью можем получить информацию о несуществующем человеке.

#python
Сверхбыстрый Python

Автор: Тиаго Антао
Год издания: 2023

Скачать книгу

#book
Ключевое слово nonlocal

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

Поведение nonlocal заключается в том, что интерпретатор ищет переменную в ближайшей области видимости.

Основное различие с global в том, что с помощью nonlocal нельзя получить переменные из глобальной области видимости.

#python #doc
Находим соответствия в строках

В стандартной библиотеке Python существует модуль difflib, в котором есть интересный метод get_close_matches. Он позволяет найти в списке строки, похожие на некую исходную.

Данный метод ищет "наилучшие" возможные совпадения. Первый аргумент задаёт искомую строку, второй аргумент – список, в котором выполняется поиск.

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

#python #doc
Строим точечную диаграмму с помощью Python

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

Результат данного кода представлен в посте на картинке выше.

#python #библиотеки