Python - Советы, библиотеки, гайды
19.6K subscribers
1.17K photos
25 videos
6 files
590 links
Всё для Python программиста :3
Готовый код, советы, лайфхаки, годные библиотеки, уроки и многое другое!

Автор - Абрахам (@priler)

РКН: https://kurl.ru/uXZzR
Download Telegram
Вы, наверное, знаете о гайде по стилю кода Python, известном как PEP 8. Но вот интересно: автор этого гайда - Гвидо ван Россум, создатель языка Python, придумал стандартное имя для временных переменных, которые используются в примерах кода.

По соглашению, такие переменные должны называться "spam", "ham" и "eggs". Почему именно они? Здесь есть небольшая история.

В середине XX века существовал комедийный мюзикл под названием "Monty Python Spamalot". В этом спектакле была знаменитая сцена, где персонал ресторана повторяет слово "спам" многократно. Термин "спам" затем стал ассоциироваться с чем-то назойливым и бесполезным.

И вот, когда Гвидо ван Россум работал над созданием языка Python и нужно было выбрать имена для временных переменных в примерах кода, он вспомнил эту комедию и решил использовать "spam", "ham" и "eggs". Это был своего рода юмористический жест, который остался в языке до сих пор.

Так что, когда вы видите эти названия переменных в примерах кода Python, помните, что они не случайны! Они являются небольшой шуткой от создателя языка :3
👍54❤‍🔥4🐳21
🐍 А вы знали? №32

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

В этом примере мы открываем файл "file.txt" в режиме чтения с помощью оператора "with". Внутри контекстного блока мы выполняем операции чтения содержимого файла и выводим его на экран. При завершении контекстного блока файл автоматически закрывается :3
38👍7😱21🏆1
А чё всмысле 🌚
👍137😁25🌚18🔥11🤡9❤‍🔥1🤩1
NLTK — библиотека для обработки естественного языка

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

В примере выше мы:
Загружаем корпус текста, который включает ресурсы для токенизации и удаления стоп-слов
Токенизируем текст, разделяя его на отдельные слова и знаки препинания
Удаляем стоп-слова, то есть слова, которые обычно не несут смысловой нагрузки
Производим частотный анализ, чтобы определить самые часто встречающиеся слова в тексте

Ставится командой ⚙️ pip3 install nltk
Документация и примеры кода здесь :3
❤‍🔥20👍3
А чё всмысле 🌚
👍118😁26🌚8❤‍🔥73🤡21🤔1🐳1
🍳 Задача по Python #29

Описание

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

Примеры
func(10) # [1010, 2]
func(25) # [11001, 3]

Свой вариант решения в комментарии 💭
Кодом делиться через pastebin.org или repl.it.

#задачи
❤‍🔥21👍5🤡3🍓21
А чё всмысле 🌚
70🤡19🌚10👍7🍓4❤‍🔥2😁2🐳1
dataclasses — это модуль в стандартной библиотеке, предназначенный для упрощения создания классов данных.

Он предоставляет декоратор и набор инструментов, которые автоматически генерируют основные методы класса, такие как __init__(), __repr__(), __eq__(), и другие. Это упрощает создание классов, которые служат простым хранилищем данных, без необходимости вручную определять все методы

В примере выше мы используем декоратор @dataclass, чтобы автоматически сгенерировать методы класса Point. Мы определяем поля x, y и z, которые представляют координаты точки. После создания экземпляра класса Point с помощью аргументов конструктора, мы можем напрямую выводить информацию о точке, так как метод __repr__() автоматически сгенерирован. Это делает код более лаконичным и удобным для использования.

Подробнее здесь :3
14👍6❤‍🔥2
А чё всмысле 🌚
🤔76🤡17😱8🌚7👍3❤‍🔥211
range() — встроенная функция, которая создает последовательность чисел в заданном диапазоне.

range() используется для создания последовательности чисел. Она принимает три параметра: начальное значение(по умолчанию 0), конечное значение и шаг(по умолчанию 1). При вызове функции range() она возвращает объект типа range, который можно использовать в циклах или для создания списков.

В примере выше мы используем функцию range() для создания последовательности чисел от 1 до 10 с шагом 2. Цикл for проходит по каждому элементу этой последовательности и выводит его значение.

Подробнее тут :3
🤯65👍117😱2🤡1🌚1
Интересно. Что думаете?

P.S. Прислал подписчик :3
😁126🌚13👍2🤔2😐1
ffmpeg — это свободное и открытое программное обеспечение, предоставляющее набор инструментов для записи, преобразования и манипулирования аудио и видео файлами.

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

В примере выше мы используем модуль subprocess для вызова команды ffmpeg из Python. Мы указываем входной файл input.mp4 и желаемый выходной файл output.avi. После этого мы создаем команду ffmpeg и передаем ее в subprocess.call().

Таким образом, при выполнении этого кода ffmpeg сконвертирует входной видеофайл input.mp4 в формат AVI и сохранит его как output.avi.

Подробнее тут :3
👍323❤‍🔥21🤡1
А чё всмысле 🌚
🌚136😁29👍154
🐥 Задача по Python #30

Описание

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

Примеры
func([5, -2, 10, -8, 3]) # 6.0
func([-1, -3, -7]) # None

Свой вариант решения в комментарии 💭
Кодом делиться через pastebin.org или repl.it.

#задачи
👍28😁4🤡41
Говорят, 99% людей не могут найти отличие 🌚
❤‍🔥135🌚24😁13👍10🤡6🔥41
namedtuple — удобная структура данных модуля collections.

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

В примере выше мы определяем структуру данных Point с помощью namedtuple, которая имеет два именованных поля - x и y. Затем мы создаем объект point типа Point с указанными значениями координат. Благодаря Namedtuple, у нас есть доступ к полям объекта по именам, что делает код более читаемым и понятным.
👍253🤩1
А чё всмысле 🌚
😁90🌚20👍7😐5🔥1
argparse — модуль обработки аргументов командной строки

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

В примере выше функция main() определяет два аргумента: username и age, а также добавляет описание для них. Затем, когда скрипт запускается, argparse обрабатывает переданные аргументы командной строки и передает их в функцию greet_user(). Функция greet_user() форматирует приветствие с указанием имени пользователя и его возраста, а затем выводит результат в консоль.

Подробнее здесь :3
27👍7❤‍🔥1🌚1
Пайтон даже в космосе 🌚

P.S. Прислал подписчик в наш чат :3
62😁4🌚2