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

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

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

РКН реестр:
https://knd.gov.ru/license?id=67847dd98e552d6b54a511ed&registryType=bloggersPermission
Download Telegram
⚡️ Функции all и any

Эти функции помогут вам узнать, есть ли в объекте определённые значения, или нет.

Так, all возвращает значение True, если все объекты равны True или, по крайней мере, соответствуют заданному условию.

Функция any, в свою очередь, делает то же самое, но возвращает True даже в тех случаях, когда какие-то из объектов не соответствуют условию.

Другими словами, если хотя бы один из них равен True, когда все остальные не равны, то функция any всё равно вернёт значение True.
⚡️ Потоковый ввод

Ввод от пользователя можно обрабатывать потоком.

В таком случае, на Windows нужно воспользоваться специальной комбинацией клавиш — Ctrl + D.

Чтобы запустить потоковый ввод, нужно воспользоваться методом stdin в библиотеке sys.

Так, если нужно получить и сразу же обработать строку, то необходимо так и написать: sys.stdin.

Кроме того, если прежде, чем обрабатывать строку, необходимо полностью прочитать весь потоковый ввод, то стоит воспользоваться командой sys.stdin.readlines().
⚡️ Функции высшего порядка

Функции высшего порядка — это функции, которые принимают или возвращают другие.

Название говорит само за себя — с запоминанием проблем возникнуть не должно.

Так, например, функция lambda может очень хорошо взаимодействовать с высшими функциями.

Другая функция, map(), может принять в себя предыдущую, но такой большой функциональности это не даст.

Есть ещё одна функция — filter(), с помощью которой можно фильтровать интеграторы и списки.

Первым аргументом она принимает функцию, если она возвращает True, пропуская элемент, а вторым — принимает список или интегратор.

Также, для большего удобства, эти функции можно совмещать.
⚡️ Генератор случайных паролей

Пример простого кода, основанного на модуле random.

В качестве источника символов, в этом файле прописаны все символы, которые возможно ввести на клавиатуре.

Пользователю остаётся лишь выбрать количество паролей и длину каждого из них.

Также, полученные пароли автоматически сохраняются в файле "password.txt".

Причём, этот файл не заменяется при каждом использовании программы: новые пароли просто вставляются после тех, которые были сгенерированы до этого.

💾 Скачать пример кода
⚡️ Модуль os

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

Тип операционной системы можно определить с помощью атрибута os.name:

posix — это linux и macOS
nt — Windows
java — системы, которые работают в виртуальной Java-машине (тот же Android, например)

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

Также, вы можете менять их директорию простой функцией os.chdir().
⚡️ Модуль Zipfile

Модуль Zipfile гораздо более удобен для работы с zip, чем другие модули.

Да, он подойдёт только для zip и с его помощью нельзя выполнять такую объёмную работу, как с другими модулями, но в многофункциональности и удобстве он гораздо лучше остальных.

Сперва из zipfile необходимо импортировать ZipFile и открыть соответствующий файл.

printdir() — вывод текстом для печати всего списка содержимого

open() — открыть файл внутри архива

namelist() — вывод списка файлов в виде списка

Чтобы узнать больше возможностей этого модуля, просто воспользуйтесь help() или документацией.
⚡️ Принцип 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