Forwarded from About Python [ru]
Forwarded from About Python [ru]
Применяли ли Вы в своей практике глубокое копирование в Python?
Answer - https://telegra.ph/Answer-09-13
Answer - https://telegra.ph/Answer-09-13
Forwarded from About Python [ru]
Forwarded from About Python [ru]
Forwarded from About Python [ru]
Forwarded from Python вопросы на собеседовании с ответами
Каким Python фреймворком вы пользовались?
Anonymous Poll
76%
Django
43%
Flask
3%
Pyramid
3%
Bottle
1%
TurboGears
11%
AIOHTTP
3%
Dash
4%
Tornado
17%
Другой
Forwarded from Python Community
⚡️ Что такое
Каждый раз, когда вы запускаете программу, Python, переводит её в байткод и сохраняет в папку
Файлы с расширением .pyc и .pyo — это байткод и оптимизированный байткод. Они создаются заново, если код программы изменился.
#теория
__pycache__
На этот раз, это не переменная, а папка, внутри которой хранятся файлы .pyc и .pyo. Зачем она нужна можно почитать в PEP 3147, а здесь будет краткое объяснение.Каждый раз, когда вы запускаете программу, Python, переводит её в байткод и сохраняет в папку
__pycache__
. Это сделано в целях оптимизации и, чтобы, модули быстрее импортировались.Файлы с расширением .pyc и .pyo — это байткод и оптимизированный байткод. Они создаются заново, если код программы изменился.
#теория
Forwarded from Python RU
12 актуальных идей для портфолио Python: веб-сайты, аналитика данных, автоматизация и парсинг
https://nuancesprog.ru/p/14348/
@pro_python_code
https://nuancesprog.ru/p/14348/
@pro_python_code
Forwarded from Python Community
⚡️ Работаем с окружением
Внутри операционной системы существуют некие переменные окружения. Самая популярная — PATH, её вы могли видеть при установке языка. Что они значат я рассказывать не буду, а вот как с ними работать — расскажу.
Для этого нам потребуется модуль os, а если быть конкретнее —
#миниурок #os
Внутри операционной системы существуют некие переменные окружения. Самая популярная — 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.
Вот парочка полезных функций из него:
Если вам что-то не понятно или же вам необходим больший функционал, то посетите страницу документации.
#миниурок #os
Если вы каким-то образом взаимодействуете с файлами в операционной системе, то вам необходимо создавать пути, что можно делать с помощью модуля 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
Если вы работали с 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
Функционал 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!
Известно, что данную конструкцию всегда можно было заменить 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
Модуль time позволяет замерять время выполнения кода, может заморозить программу, а также позволяет узнать текущее время.
Первую задачу выполняет функция
time()
, которая возвращает время в секундах. Для заморозки приложения используют команду sleep(seconds)
.А вот выводом времени занимается метод
strftime()
, который выводит структуру, полученную, например, из gmtime()
в определённом формате. Подробнее почитать о модуле можно на сайте документации.
#миниурок #time
Forwarded from Python Community
⚡️ Что такое
Каждый раз, когда вы запускаете программу, Python, переводит её в байткод и сохраняет в папку
Файлы с расширением .pyc и .pyo — это байткод и оптимизированный байткод. Они создаются заново, если код программы изменился.
#теория
__pycache__
На этот раз, это не переменная, а папка, внутри которой хранятся файлы .pyc и .pyo. Зачем она нужна можно почитать в PEP 3147, а здесь будет краткое объяснение.Каждый раз, когда вы запускаете программу, Python, переводит её в байткод и сохраняет в папку
__pycache__
. Это сделано в целях оптимизации и, чтобы, модули быстрее импортировались.Файлы с расширением .pyc и .pyo — это байткод и оптимизированный байткод. Они создаются заново, если код программы изменился.
#теория
Forwarded from Python Community
⚡️ Работаем с логами
Для этого в Python существует удобный модуль logging, позволяющий управлять логами в пару строк.
О том, какие уровни важности использовать, вы можете почитать в HOWTO, а подробнее о функционале модуля — в документации.
#миниурок #logging
Для этого в Python существует удобный модуль logging, позволяющий управлять логами в пару строк.
logging.getLogger(name=None)
— возвращает экземпляр логера на основе имени. Может быть полезна при разработке модулей.logging.basicConfig(**kwargs)
— позволяет задать настройки модулю, например, имя файла (filename), формат записи (format), уровень важности (level).debug()
, info()
, warning()
, error()
, critical()
— позволяют записывать информацию в логер на определённом уровне важности.О том, какие уровни важности использовать, вы можете почитать в HOWTO, а подробнее о функционале модуля — в документации.
#миниурок #logging