Forwarded from Хитрый Питон
Я как-то пропустил новость о том, что вышел новый mypy под python 3.9. Из интересного:
- понимает конструкции типа list[int] которые появились в 3.9
- понимает X | Y вместо Union[X, Y]
- наконец понимает модули без init.py
Подробности тут http://mypy-lang.blogspot.com/2021/01/mypy-0800-released.html
- понимает конструкции типа list[int] которые появились в 3.9
- понимает X | Y вместо Union[X, Y]
- наконец понимает модули без init.py
Подробности тут http://mypy-lang.blogspot.com/2021/01/mypy-0800-released.html
Blogspot
Mypy 0.800 Released
We’ve just uploaded mypy 0.800 to the Python Package Index ( PyPI ). Mypy is a static type checker for Python. This release includes new ...
Forwarded from Python Academy
Создание процессов
Класс
При создании экземпляра
Очень важно ожидать завершения всех созданных дочерних процессов. Для этого можно воспользоваться удобной функцией
#процессы #multiprocessing
Класс
Process
из встроенного модуля multiprocessing
позволяет создавать процессы без прямого вызова функции fork
, про которую писали раньше на канале.При создании экземпляра
Proccess
необходимо передать функцию, которую требуется исполнить в отдельном дочернем процессе и аргументы этой функции. Процесс будет создан после вызова метода start
. Внутри метода start
будет вызван fork
и будет исполнена функция в отдельном процессе.Очень важно ожидать завершения всех созданных дочерних процессов. Для этого можно воспользоваться удобной функцией
join
.#процессы #multiprocessing
Forwarded from Python Academy
Одноразовый метод в классе
В случае, если вдруг понадобится в классе функция, которая будет использоваться всего один раз, после чего будет использоваться другая функция, можно воспользоваться приемом на картинке.
Последней строчкой метода
Подобный прием будет полезен в тех случаях, когда при самом первом вызове метода в классе требуются выполнить одноразовые действия, которые в дальнейшем не нужны.
#классы #функции
В случае, если вдруг понадобится в классе функция, которая будет использоваться всего один раз, после чего будет использоваться другая функция, можно воспользоваться приемом на картинке.
Последней строчкой метода
call
является переопределение самого этого метода на другой, а именно normal_call
. Таким образом, изначальный код call
будет исполнен только один раз.Подобный прием будет полезен в тех случаях, когда при самом первом вызове метода в классе требуются выполнить одноразовые действия, которые в дальнейшем не нужны.
#классы #функции
Forwarded from Python Academy
Красивые таблицы в терминале
PrettyTable – это простая библиотека, предназначенная для быстрого и легкого представления табличных данных в виде ASCII. Модуль можно установить привычным способом через
Для создания таблиц и работы с ними используется класс
Более того, модуль
#таблицы #prettytable
PrettyTable – это простая библиотека, предназначенная для быстрого и легкого представления табличных данных в виде ASCII. Модуль можно установить привычным способом через
pip
.Для создания таблиц и работы с ними используется класс
PrettyTable
из этого модуля. Задать название для столбцов можно с помощью атрибута fields_name
. Строки в таблицу добавляются путем вызова метода add_row
.Более того, модуль
prettytable
позволяет регулировать различные параметры, сортировать данные, работать с html
, а также взаимодействовать с csv
и sql
таблицами. Так что возможностей у этого модуля предостаточно.#таблицы #prettytable
Forwarded from Python Academy
Прогресс выполнения программы
Индикаторы прогресса добавляют наглядности в скриптах, которые исполняют какие-то функции, требующие времени для выполнения. Модуль
Привычный
Кстати, интересный факт – название
#модули #tqdm
Индикаторы прогресса добавляют наглядности в скриптах, которые исполняют какие-то функции, требующие времени для выполнения. Модуль
tqdm
является простым и лаконичным вариантом.Привычный
range
можно заменить на trange
для визуализации прогресса. А для итерации по какой-либо последовательности, достаточно просто передать её в функцию tqdm
. Также модуль хорошо себя зарекомендовал и в Jupyter Notebook.Кстати, интересный факт – название
tqdm
произошло от арабского слова "taqaddum" (تقدّم), которое означает "прогресс," а также это ещё и сокращение от "я тебя сильно люблю" на испанском (te quiero demasiado).#модули #tqdm
Forwarded from Python Academy
Перечисления
Python поддерживает простой механизм работы с перечислениями, которые ещё называют
Из документации можно узнать о том, что
Также можно задать геттер через
#enum
Python поддерживает простой механизм работы с перечислениями, которые ещё называют
enum
. Подобные перечисления удобно использовать для хранения списков констант. Из документации можно узнать о том, что
Enum
— это набор символических имён, привязанных к уникальным, неизменным значениям. Члены одного перечисления можно сравнивать на идентичность.Также можно задать геттер через
@property
, который используют для получения перечислений в других форматах. В примере реализовано перечисление цветов в RGB, а через геттер их можно получить в формате hex
.#enum
Forwarded from Python книги
The Hacker’s Guide to Scaling Python
Автор: Julien Danjou
Год издания: 2017
Автор: Julien Danjou
Год издания: 2017
Forwarded from Pythonist.ru - образование по питону
Книги по прикладному использованию Python
Мы собрали для вас подборку книг, в которых рассматриваются способы решения конкретных практических задач в разных областях, а Python выступает в качестве инструмента. Все книги - 2019 года, есть ссылки на скачивание.
Читать статью
#книги
Мы собрали для вас подборку книг, в которых рассматриваются способы решения конкретных практических задач в разных областях, а Python выступает в качестве инструмента. Все книги - 2019 года, есть ссылки на скачивание.
Читать статью
#книги
Forwarded from Библиотека питониста | Python, Django, Flask
🤹 11 забавных пасхалок в Python
Python очень серьезный язык, но он полон «пасхальных яиц» и забавных отсылок. В этой статье мы собрали наиболее интересные скрытые функции одного из самых популярных языков программирования.
https://proglib.io/sh/46IfnwaohY
Python очень серьезный язык, но он полон «пасхальных яиц» и забавных отсылок. В этой статье мы собрали наиболее интересные скрытые функции одного из самых популярных языков программирования.
https://proglib.io/sh/46IfnwaohY
Forwarded from Библиотека питониста | Python, Django, Flask
🐍 Язык C для программистов на Python
Если вы уже владеете синтаксисом Python, самое время познакомиться с основами языка C и посмотреть, как он используется в исходном коде CPython.
https://proglib.io/sh/I47tzqhl3w
Если вы уже владеете синтаксисом Python, самое время познакомиться с основами языка C и посмотреть, как он используется в исходном коде CPython.
https://proglib.io/sh/I47tzqhl3w
Forwarded from Pythonist.ru - образование по питону
Tips & Tricks. 5 простых способов удалить символ из строки
В этой статье:
- Примитивный метод.
- Функция replace().
- Срезы и конкатенация.
- Метод join() и генератор списков.
- Метод translate()
Читать статью
#строки
В этой статье:
- Примитивный метод.
- Функция replace().
- Срезы и конкатенация.
- Метод join() и генератор списков.
- Метод translate()
Читать статью
#строки
Forwarded from Python Academy
Валидаторы данных
Как правило, разработчики пишут регулярные выражения для обработки специфических строк. Но для таких данных как, почта или ссылка, изобретать велосипед не нужно.
Модуль
Помимо этого,
#validatoras
Как правило, разработчики пишут регулярные выражения для обработки специфических строк. Но для таких данных как, почта или ссылка, изобретать велосипед не нужно.
Модуль
validators
позволяет использовать уже готовые валидаторы для самых распространенных задач. В примере можете как раз увидеть валидацию почты и ссылок.Помимо этого,
validators
позволяет также работать с ipv4, ipv6, mac адресами и многим другим. В итоге, имеем лаконичный и простой модуль с хорошим функционалом.#validatoras
Forwarded from Библиотека питониста | Python, Django, Flask
Arpit Bhayani
How python optimises the runtime using constant folding
Every programming language aims to be performant and Python is no exception. In this essay, we dive deep into Python internals and find out how Python makes its interpreter performant using a technique called Constant Folding.