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
Forwarded from Python Community
⚡️ Что такое
Продолжаем говорить про импорт модулей. В этот раз разберём, что такое переменная
Думаю, в нескольких ваших скриптах встречается строка по типу
Чтобы не нагружать вашу программу ненужными объектами разработчики вписывают в
Всё элементарно, но чтобы почитать об этом подробнее, можете заглянуть на сайт документации.
#теория
__all__ ?Продолжаем говорить про импорт модулей. В этот раз разберём, что такое переменная
__all__ и как её использовать.Думаю, в нескольких ваших скриптах встречается строка по типу
from package import *, которая импортирует всё из модуля. Но ведь функций/классов может быть намного больше, чем вы думаете.Чтобы не нагружать вашу программу ненужными объектами разработчики вписывают в
__all__ имена доступных типов.Всё элементарно, но чтобы почитать об этом подробнее, можете заглянуть на сайт документации.
#теория
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