Forwarded from Pythonist.ru - образование по питону
Модули. Преобразование строк в дату со временем
В этой статье мы рассматриваем модуль datetime, а также сторонние библиотеки, позволяющие конвертировать строки в дату и время.
Читать статью
#модули
В этой статье мы рассматриваем модуль datetime, а также сторонние библиотеки, позволяющие конвертировать строки в дату и время.
Читать статью
#модули
Forwarded from Pythonist.ru - образование по питону
Функции. Удаление файла — пошаговое руководство
Рассказываем, как удалять файлы при помощи методов os.remove(), os.rmdir() и shutil.rmtree().
Читать статью
#модули #функции
Рассказываем, как удалять файлы при помощи методов os.remove(), os.rmdir() и shutil.rmtree().
Читать статью
#модули #функции
Forwarded from Gmail Bot
✉️ nixxo <notifications@github.com>
To: ytdl-org/youtube-dl <youtube-dl@noreply.github.com>
CC: Subscribed <subscribed@noreply.github.com>
Re: [ytdl-org/youtube-dl] [rai] improved subtitles extraction (#27705)
*@nixxo* commented on this pull request.
In youtube_dl/extractor/rai.py :
> - subtitle_url = urljoin(url, subtitle_url)
+ def _extract_subtitles(url, video_data):
+
+ def create_sub(url, lang):
STL_EXT = '.stl'
SRT_EXT = '.srt'
- subtitles['it'] = [{
- 'ext': 'stl',
- 'url': subtitle_url,
+ sub = {}
+ sub[lang] = [{
+ 'ext': determine_ext(url),
+ 'url': url,
}]
- if subtitle_url.endswith(STL_EXT):
- srt_url = subtitle_url[:-len(STL_EXT)] + SRT_EXT
- subtitles['it'].append({
+ if url.endswith(STL_EXT):
+ srt_url = url[:-len(STL_EXT)] + SRT_EXT
+ sub[lang].append({
'ext': 'srt',
'url': srt_url,
})
+ return sub
ok, done in e0a179c
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub , or unsubscribe.
To: ytdl-org/youtube-dl <youtube-dl@noreply.github.com>
CC: Subscribed <subscribed@noreply.github.com>
Re: [ytdl-org/youtube-dl] [rai] improved subtitles extraction (#27705)
*@nixxo* commented on this pull request.
In youtube_dl/extractor/rai.py :
> - subtitle_url = urljoin(url, subtitle_url)
+ def _extract_subtitles(url, video_data):
+
+ def create_sub(url, lang):
STL_EXT = '.stl'
SRT_EXT = '.srt'
- subtitles['it'] = [{
- 'ext': 'stl',
- 'url': subtitle_url,
+ sub = {}
+ sub[lang] = [{
+ 'ext': determine_ext(url),
+ 'url': url,
}]
- if subtitle_url.endswith(STL_EXT):
- srt_url = subtitle_url[:-len(STL_EXT)] + SRT_EXT
- subtitles['it'].append({
+ if url.endswith(STL_EXT):
+ srt_url = url[:-len(STL_EXT)] + SRT_EXT
+ sub[lang].append({
'ext': 'srt',
'url': srt_url,
})
+ return sub
ok, done in e0a179c
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub , or unsubscribe.
Forwarded from Python Academy
Ускоряем код с помощью векторизации
Одним из приемов для ускорения работы циклов является векторизация вычислений, т. е. использование функций, которые поддерживают операции над векторами.
Вообще лучший способ ускорить любой цикл – это отказаться от него. В примере выше для работы с функцией
По сути,
#vectorize #numpy
Одним из приемов для ускорения работы циклов является векторизация вычислений, т. е. использование функций, которые поддерживают операции над векторами.
Вообще лучший способ ускорить любой цикл – это отказаться от него. В примере выше для работы с функцией
my_func
мы могли бы вызвать ее в цикле для каждого элемента списка, но гораздо проще использовать vectorize
.По сути,
vectorize
преобразует функцию таким образом, что она начинает принимать весь вектор целиком, а не отдельный его элемент. Надо помнить, что такой подход не всегда приводит к значительному ускорению.#vectorize #numpy
Forwarded from Python Academy
Not a Number
В модуле
Эти объекты
Например можно создать подобный объект, просто передав строку
#nan #tips
В модуле
math
есть особый объект, который называется NaN
(Not a Number).Эти объекты
NaN
не уникальны, и даже не равны самим себе, так что вы можете иметь несколько подобных объектов, взятых из нескольких разных источников.Например можно создать подобный объект, просто передав строку
'nan'
во float
. Кстати говоря, это значит что вы можете использовать NaN
в качестве ключа в словаре (хотя мы и не советуем это делать).#nan #tips
Forwarded from Python Academy
Вычисляем размер объектов в памяти
Чтобы вычислить размер какого-либо объекта, можно воспользоваться функцией
Однако, следует помнить, что хотя все built-in (встроенные) объекты и вернут правильный размер, в общем случае это не должно быть верно для каких-либо пользовательских объектов.
Аргумент
Функция
#sys #sizeof #oop
Чтобы вычислить размер какого-либо объекта, можно воспользоваться функцией
sys.getsizeof(object[, default])
. Поскольку Python написан в полном соответствии с парадигмой ООП, таким объектом может быть все что угодно.Однако, следует помнить, что хотя все built-in (встроенные) объекты и вернут правильный размер, в общем случае это не должно быть верно для каких-либо пользовательских объектов.
Аргумент
default
позволяет определить значение, которое будет возвращено, если тип объекта не предоставляет средства для извлечения размера и вызовет TypeError
.Функция
getsizeof
вызывает метод __sizeof__
объекта и добавляет дополнительные служебные данные сборщика мусора, если конечно объект управляется сборщиком мусора.#sys #sizeof #oop
Forwarded from Python Academy
Добавляем классу большую функциональность
Декоратор
Методы класса привязаны к самому классу, а не его экземпляру. Они могут менять состояние класса, что отразится на всех объектах этого класса, но не могут менять конкретный объект.
Проще говоря,
#oop #classmethod
Декоратор
@classmethod
— это метод, который получает класс в качестве параметра, который принято обозначать как cls
. Он указывает на класс ToyClass, а не на объект этого класса. Методы класса привязаны к самому классу, а не его экземпляру. Они могут менять состояние класса, что отразится на всех объектах этого класса, но не могут менять конкретный объект.
Проще говоря,
@classmethod
— это обычный метод класса, имеющий доступ ко всем атрибутам класса, через который он был вызван.#oop #classmethod
Forwarded from Python Academy
Тестирование на pytest
Но при разработке на
Также он поддерживает запуск тестов на
#тестирование #pytest #assert
pytest
— ближе по духу к языку Python нежели unittest
, которая накладывает определенные обязательства при разработке тестов. Например, создание классов-наследников от TestCase или выполнение определенной процедуры запуска тестов. Но при разработке на
pytest
ничего этого делать не нужно. Вы просто пишете функции, которые должны начинаться с "test_" и используете assert, встроенные в Python. Также он поддерживает запуск тестов на
unittest
и nose
, то есть полная обратная совместимость с ними.#тестирование #pytest #assert
Forwarded from Библиотека питониста | Python, Django, Flask
Отказ от Excel в пользу Python - уроки, извлеченные из наследия индустрии.
https://proglib.io/w/2ea608eb
https://proglib.io/w/2ea608eb
Amy Peniston
Ditching Excel for Python - Lessons Learned from a Legacy Industry - Amy Peniston
I spent 3 years as an analyst in the reinsurance industry. During this time, I witnessed firsthand how Python is driving rapid technological change. (Goodbye, Excel!)
Forwarded from Библиотека питониста | Python, Django, Flask
🐍 Топ-20 бесплатных ресурсов для изучения Python: сохрани это в закладки
Изучить программирование на Python можно по бесплатным ресурсам, которые позволят вам стать востребованным программистом. Предлагаем вашему вниманию подборку русскоязычных и англоязычных сайтов для изучения популярного языка программирования.
https://proglib.io/sh/qn2VEY8FTW
Изучить программирование на Python можно по бесплатным ресурсам, которые позволят вам стать востребованным программистом. Предлагаем вашему вниманию подборку русскоязычных и англоязычных сайтов для изучения популярного языка программирования.
https://proglib.io/sh/qn2VEY8FTW
Forwarded from Машинное обучение. Книги по программированию
Книги по Python - канал, где вы можете скачать в два клика книги для изучения Python.
Все книги 2015-2020 годов.
Много русских книг.
Подписывайтесь: @pythonknigi
Все книги 2015-2020 годов.
Много русских книг.
Подписывайтесь: @pythonknigi
Forwarded from Python Academy
Создание и использование виртуальной среды
Создание новой виртуальной среды требуется только один раз для каждого проекта, для которого вы хотите изолировать зависимости:
Чтобы активировать виртуальную среду, нужно запустить
#virtualenv
virtualenv
— инструмент для создания изолированных сред Python. Программа создает папку, которая содержит все необходимые исполняемые файлы для использования пакетов, необходимых для проекта.Создание новой виртуальной среды требуется только один раз для каждого проекта, для которого вы хотите изолировать зависимости:
python3 -m venv venv
Это создаст папку venv
, содержащую оснастку сценариев и копию python самого двоичного файла. Название папки не имеет значения. Чтобы активировать виртуальную среду, нужно запустить
activate
файл: source venv/bin/activate
и далее мы можем свободно устанавливать любые зависимости, которые никак не скажутся на работе в будущих проектах.#virtualenv
Forwarded from Python Academy
Тестирование на pytest
Но при разработке на
Также он поддерживает запуск тестов на
#тестирование #pytest #assert
pytest
— ближе по духу к языку Python нежели unittest
, которая накладывает определенные обязательства при разработке тестов. Например, создание классов-наследников от TestCase или выполнение определенной процедуры запуска тестов. Но при разработке на
pytest
ничего этого делать не нужно. Вы просто пишете функции, которые должны начинаться с "test_" и используете assert, встроенные в Python. Также он поддерживает запуск тестов на
unittest
и nose
, то есть полная обратная совместимость с ними.#тестирование #pytest #assert
Forwarded from Python Academy
Многопоточность
В модуле
Параметр
Когда
#потоки #многопоточность
В модуле
threading
новый поток выполнения может начинаться с нового threading.Thread
и присвоения ему функции для выполнения.Параметр
target
ссылается на функцию (или вызываемый объект), который будет работать. Нить не начнет выполнение до start
, также не будет вызываться Thread
объекта.Когда
my_thread
завершается, вызов start
выкинет исключение RuntimeError. Если вы хотите запустить Thread в фоновом режиме, то передавайте daemon=True
или установите my_thread.daemon
в True
перед вызовом start()
.#потоки #многопоточность
Forwarded from Skillbox: образовательная платформа
Эта книга поможет освоить Python. А если повезёт, раз и навсегда покончить с рутиной.
#статья_skillbox #skillbox_программирование
#статья_skillbox #skillbox_программирование
Skillbox
Обзор книги Эла Свейгарта «Автоматизация рутинных задач с помощью Python»
Эта книга поможет освоить Python. А если повезёт, раз и навсегда покончить с рутиной.
Forwarded from Python вопросы на собеседовании с ответами
Forwarded from Python вопросы на собеседовании с ответами
Pythonist - канал и сайт, с переведенным с английских ресурсов контентом
Что у нас есть:
1. тесты, алгоритмы с кодом, разбор рекурсии, lambda функции
2. строки, списки и другие базовые типы данных питона.
3. django
4. задачи с кодом, проект эйлера, логические задачи
Весь контент пишется 3-мя разработчиками. Смотрите сами у нас на сайте - pythonist.ru
Что у нас есть:
1. тесты, алгоритмы с кодом, разбор рекурсии, lambda функции
2. строки, списки и другие базовые типы данных питона.
3. django
4. задачи с кодом, проект эйлера, логические задачи
Весь контент пишется 3-мя разработчиками. Смотрите сами у нас на сайте - pythonist.ru
Forwarded from Библиотека питониста | Python, Django, Flask
📊 Туториал: визуализация данных в вебе с помощью Python и Dash
В этом руководстве мы рассмотрим, как с помощью Python и библиотеки Dash создать, оформить и опубликовать на хостинге интерактивное веб-приложение с результатами анализа данных.
https://proglib.io/sh/3GmWbj7zMH
В этом руководстве мы рассмотрим, как с помощью Python и библиотеки Dash создать, оформить и опубликовать на хостинге интерактивное веб-приложение с результатами анализа данных.
https://proglib.io/sh/3GmWbj7zMH