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
⚡️ Принцип OCP

Дословно этот принцип расшифровывается как «Open-Closed Principle» — принцип открытости к расширению.

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

Возможно, на первый взгляд покажется, что принцип OCP конфликтует с YAGNI, но это — не так.

YAGNI говорит, что нельзя писать код, который не используется в данный момент, а OCP — имеет отношение к более глубоким частям кода.
📮 Что выведет этот код?
Anonymous Quiz
10%
[1, 4, 5]
20%
Ошибку
42%
[1, -2, -3]
29%
Посмотреть ответы
🖥 Уроки Python для начинающих

👨‍💻 Автор:
Гоша Дударь

1] Программирование на Python
2] Установка среды разработки
3] Первая программа
4] Переменные
5] Условные операторы

ℹ️ Смотрите эти и остальные 20 видеоуроков на YouTube
⚡️ Библиотека FuzzyWuzzy

Это — простая, но очень полезная и интересная библиотека для поиска совпадений в тексте.

К примеру, вы можете использовать её во время работы с ботами, которые общаются голосом или текстом — она значительно упростит некоторые ваши задачи.

Безусловно, вместо этого инструмента вы можете использовать любой другой, но именно он — самый удобный.

Чтобы установить библиотеку, необходимо выполнить команду: install fuzzywuzzy.
⚡️ Что выведет этот код?
Anonymous Quiz
25%
[0] [1] [2]
19%
[1] [2] [3]
23%
[0] [0, 1] [0, 1, 2]
32%
Ошибку
⚡️ Принцип DRY

Ещё один принцип программирования, который гласит: «Don`t repeat yourself», что в переводе значит «Не повторяйся».

Если код можно не дублировать, а этого можно избежать практически всегда, — не делайте этого.

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

Для чего это нужно? Ну, как минимум для того, чтобы упростить изменение кода в будущем.

Это особенно актуально для больших программ, где дублирование кода — просто недопустимо.
⚡️ Что выведет этот код?
Anonymous Quiz
18%
0 1 2
31%
a b c
19%
0 a 1 b 2 c
19%
Ошибку
13%
Ничего из этого
⚡️ 2 лайфхака для работы с файлами

• Перемещение файлов. С помощью библиотеки shutil вполне можно перемещать файлы из одной папки в другую.

Если вы не хотите импортировать дополнительные библиотеки, вы можете воспользоваться os.rename или os.replace, но это значительно усложнит вашу задачу.

Гораздо проще воспользоваться shutil.move(), чтобы перемещать файлы.

• Объединение компонентов пути. Для разделения компонентов пути часто используется "/", но если вы хотите, чтобы программа работала на разных платформах, этот вариант не подойдёт.

Гораздо лучше объединять компоненты пути с помощью этой функции: os.path.join().
🖥 Уроки Python

👨‍💻 Автор:
Web Developer Blog

1] Начало работы и установка
2] Типы данных, переменные
3] Арифметические операции
4] Условия и циклы if, while, for
5] Функции и как с ними работать
6] Списки, массивы
7] Кортежи

ℹ️ Смотрите эти и остальные 5 видеоуроков на YouTube

#Python
👍2
⚡️ Удаление файлов и папок

Для удаления файлов воспользуйтесь командой os.remove().

Если вам нужно удалить папку, то на этот случай есть 2 команды:

• os.rmdir()

• shutil.rmtree()

Первая команда поможет вам удалить пустой каталог.

Если же в папке есть какое-то содержимое, воспользуйтесь второй командой — она безвозвратно удалит каталог вместе со всем содержимым.
⚡️ Библиотека Emoji

Трудно представить переписку с ботом без смайлов: с их помощью текст становится гораздо «живее».

Есть библиотека, которая позволяет удобно использовать эмодзи в коде.

С её помощью можно и вставлять эмодзи, и находить их в тексте, и даже назначать в качестве переменных.

Библиотека отлично комбинируется с другими. Её можно использовать в Telegram или ВК ботах или даже на сайтах.

Чтобы получить нужный текст, воспользуйтесь emoji.emojize(`Python is :name_smile:`).

На картинке выше представлены некоторые из доступных смайлов и их названия.
👍1
⚡️ Полоса прогресса

Иногда пользователь может подумать, что программа не отвечает, и начать предпринимать какие-то ненужные действия.

Чтобы он не беспокоился об этом, рекомендуем добавлять в свои проекты полоску прогресса.

Это по-большей части касается синхронных приложений, когда код не будет реагировать на другие действия и поставит их в очередь до тех пор, пока не выполнит какое-то действие.

Писать полосу прогресса самостоятельно — гиблое дело, которое отвлечёт от самой программы, поэтому воспользуйтесь простой библиотекой Progressbar.
⚡️ Создание планировщика

С помощью довольно гибкой библиотеки schedule можно создавать задачи, выполняемые с определённым интервалом.

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

Это гораздо удобнее стандартного таймера, ведь с этой библиотекой будет гораздо проще работать и вам, и другим программистом.

Чтобы установить библиотеку, воспользуйтесь этой командой:

install schedule
⚡️ Библиотека JmesPath

Работать в Python с json файлами очень удобно, поскольку они отлично конвертируются в словари.

Однако, если вам нужно получить данные из файла, формат json проигрывает в этом плане по удобству — он содержит множество вложений.

Найти что-то можно, но это займёт гораздо больше времени, чем могло бы.

Библиотека JmesPath облегчает эту задачу. Покажем на конкретном примере:

file[`a`][`b`][`c`] — было
jmespath.search(`a.b.c`, file) — стало.

Да, кажется длиннее, но на деле код написан проще. В случае чего вы так же без проблем сможете отредактировать такую строку.
👍1
⚡️ Bash прямо в Python

Каждый программист должен знать язык bash, если он хочет работать с Linux.

Думаем, основы bash знают все, поскольку без него невозможно даже запустить программу на сервере.

Модуль sh позволяет использовать bash прямо в Python-коде.

Если вы не знаете, как написать что-то на Python, то вы всегда можете воспользоваться bash.

Для этого необходимо установить модуль, выполнив команду:

pip install sh
👍1
⚡️ Библиотека для работы с изображениями

С помощью библиотеки PIL можно выполнять действия с картинками прямо в одну строчку.

Например, поворачивать их по градусам, уменьшать количество цветов (и занимаемое место), обрезать и даже накладывать различные эффекты.

Установка стандартная:

install pillow

По желанию, вы можете использовать эту библиотеку для перебора всех пикселей и получения их в RGB цвете.
⚡️ 3 полезные функции для Python

• dict
— функция для создания словаря.

Обычно она принимает 2 вида аргументов: или словарь, который уже существует, или — список кортежей.

Если в качестве аргумента указывается существующий словарь, функция dict возвращает скопированный аргумент, а если список кортежей — новый словарь.

• breakpoint() — функция для остановки выполнения кода и перехода в отладчик.

Импорт этого модуля происходит автоматически.

• super() — обращение к родительскому классу.

Её можно использовать для единичного или совместного множественного наследования.

Да, создавать классы может быть актуально далеко не во всех ситуациях, но иногда это может значительно облегчить работу.
👍1