#python python... PYTHON 🔛 🚀
11 subscribers
914 photos
7 videos
158 files
1.54K links
Download Telegram
Forwarded from About Python [ru]
Использовали ли Вы в своей работе класс ChainMap?

Answer - https://telegra.ph/Answer-09-08-4
Forwarded from About Python [ru]
Применяли ли Вы в своей практике глубокое копирование в Python?

Answer - https://telegra.ph/Answer-09-13
Forwarded from About Python [ru]
Применяли ли Вы в своей практике модуль argparse?

Answer - https://telegra.ph/Answer-09-15
Forwarded from About Python [ru]
Применяли ли Вы в разработке связку Python и Ajax?

Answer - https://telegra.ph/Answer-09-21-4
Forwarded from About Python [ru]
Знакомы с модулем itertools?

Answer - https://telegra.ph/Answer-09-23-3
Forwarded from Python Community
⚡️ Что такое __pycache__

На этот раз, это не переменная, а папка, внутри которой хранятся файлы .pyc и .pyo. Зачем она нужна можно почитать в PEP 3147, а здесь будет краткое объяснение.

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

Файлы с расширением .pyc и .pyo — это байткод и оптимизированный байткод. Они создаются заново, если код программы изменился.

#теория
Forwarded from Python RU
12 актуальных идей для портфолио Python: веб-сайты, аналитика данных, автоматизация и парсинг

https://nuancesprog.ru/p/14348/

@pro_python_code
Forwarded from Python Community
⚡️ Работаем с окружением

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

Для этого нам потребуется модуль os, а если быть конкретнее — os.environ (или os.environb) и os.getenv() (или os.getenvb()).

os.environ — словарь, внутри которого можно брать значения переменных по ключу. Если вам нужно их байтовое представление, воспользуйтесь os.environb.

os.getenv(key, default=None) — берёт значение по ключу из os.environ, а если ключа не существует, возвращает default. os.getenvb() возвращает данные из os.environb.

#миниурок #os
Forwarded from Python Community
⚡️Создаём файловые пути

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

Вот парочка полезных функций из него:

join(path, *paths)
— объединяет все пути в один, используя разделитель, если необходимо.

expandvars(path) — заменяет имена переменных $NAME или ${NAME} на их значения. На ОС Windows разрешает использовать %NAME%.

expanduser(path) — заменяет такие компоненты как "~" или "~user" на директорию пользователя. На Linux это значение HOME, а на Windows — USERPROFILE или HOMEPATH + HOMEDRIVE.

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

#миниурок #os
Forwarded from Python Community
⚡️ Ищем файлы по шаблону

Если вы работали с Unix-подобными ОС, то наверняка знаете, что можно выбирать файлы используя шаблоны. Вот и в Python есть такая возможность — всё благодаря модулю glob.

glob.glob(pathname, recursive=False) — находит файлы по переданному шаблону. Кстати, о шаблонах можете почитать тут. recursive говорит функции, стоит ли проходить по под-директории, например при наличии ** в шаблоне.

glob.iglob(pathname, recursive=False) — делает то же самое, что и функция выше, но возвращает итератор, что позволяет сэкономить на памяти, если файлов много.

glob.escape(pathname) — экранирует особые символы (*, ?, [).

Подробнее о модуле вы, как обычно, можете почитать на сайте документации.

#миниурок #glob
Forwarded from Python Community
⚡️Создаём файловые пути

Функционал os.path кому-то может показаться недостаточным и, чтобы не изобретать велосипед, стоит взглянуть на pathlib, добавленный с версии python 3.4.

Самый важный класс — Path. Он создаёт путь и выбирает подкласс (PosixPath, WindowsPath) на основе запущенной ОС. Подробнее можно почитать тут.

Работать с ним можно с помощью оператора "/", который добавляет второй аргумент в путь.

Ещё одной особенностью класса является совместимость с os, поскольку это PathLike объект.

P.S.
Если вы используете модуль glob, то можете его не импортировать, функционал хранится в функции pathlib.glob.

#миниурок #pathlib
Forwarded from karpov.courses
● Долгожданный match-case

Известно, что данную конструкцию всегда можно было заменить if-elif-else, но, согласитесь, при большом количестве вариантов код выглядел весьма громоздко. Теперь с помощью конструкции match-case мы избавляемся от ненужных повторов при сравнении с разными условиями. Ура, писать многоэтажные if стало ещё проще!

● Больше подробностей в ошибках

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

● Добавление новых статистических функций, работающих «из коробки», таких как correlation() и linear_regression()

Теперь проводить разведочный анализ стало проще, впрочем импортировать pandas всё ещё остается хорошей идеей.

С остальными улучшениями призываем познакомиться самостоятельно, попробовав поработать в новой версии Python!
Forwarded from Python Community
⚡️ Что такое __all__ ?

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

Думаю, в нескольких ваших скриптах встречается строка по типу from package import *, которая импортирует всё из модуля. Но ведь функций/классов может быть намного больше, чем вы думаете.

Чтобы не нагружать вашу программу ненужными объектами разработчики вписывают в __all__ имена доступных типов.

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

#теория
Forwarded from Python Community
⚡️ Добавляем время в программу

Модуль time позволяет замерять время выполнения кода, может заморозить программу, а также позволяет узнать текущее время.

Первую задачу выполняет функция time(), которая возвращает время в секундах. Для заморозки приложения используют команду sleep(seconds).

А вот выводом времени занимается метод strftime(), который выводит структуру, полученную, например, из gmtime() в определённом формате.

Подробнее почитать о модуле можно на сайте документации.

#миниурок #time
Forwarded from Python Community
⚡️ Что такое __pycache__

На этот раз, это не переменная, а папка, внутри которой хранятся файлы .pyc и .pyo. Зачем она нужна можно почитать в PEP 3147, а здесь будет краткое объяснение.

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

Файлы с расширением .pyc и .pyo — это байткод и оптимизированный байткод. Они создаются заново, если код программы изменился.

#теория
Forwarded from Python Community
⚡️ Работаем с логами

Для этого в Python существует удобный модуль logging, позволяющий управлять логами в пару строк.

logging.getLogger(name=None) — возвращает экземпляр логера на основе имени. Может быть полезна при разработке модулей.

logging.basicConfig(**kwargs) — позволяет задать настройки модулю, например, имя файла (filename), формат записи (format), уровень важности (level).

debug(), info(), warning(), error(), critical() — позволяют записывать информацию в логер на определённом уровне важности.

О том, какие уровни важности использовать, вы можете почитать в HOWTO, а подробнее о функционале модуля — в документации.

#миниурок #logging