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

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

@Python_community_developers_bot
加入频道
Автоматическая отправка сообщений в WhatsApp с помощью Python

С помощью следующего фрагмента кода вы сможете с легкостью отправить сообщение вашему знакомому, указав:
• его номер телефона(в нашем примере +79261111111)
• сообщение, которое хотите отправить(в нашем примере «Привет, как дела»)
• время отправки(в нашем примере 18 30)

Установка пакета - pip install pywhatkit

Подробное объяснение кода можно найти здесь.
🎮 Основы разработки игр на Pygame

В статье научимся
анимировать графику и изображения, обрабатывать столкновения, запоминать состояния и управлять персонажами.

В конце статьи сделаем 10 мини-симуляторов и лайт-версий известных игр.

💬 Читать подробнее

#doc #python
Media is too big
VIEW IN TELEGRAM
🎥 Библиотека Pyxel для разработки игр

Библиотека Рухеl является небольшим игровым движком для создания игр в стиле ретро на базе языка Python.

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

#doc #python
#реклама
❗️Наконец-то! в телеграме появился по настоящему крутой канал по Python!

Каждый день в канале выкладывают:
-Полезные советы и решения для разработки
-Обучающие материалы и уроки для всех уровней
-Свежие новости и обновления
-А так же сливы с лучших платных курсов

🔥 Не упустите возможность стать настоящим профессионалом! Быстрей залетай в Pythoner
Форматирование строк для 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