TG Telegram Group & Channel
Библиотека питониста | Python, Django, Flask | United States America (US)
Create: Update:

📐 Новый модуль imath в Python: математика для целых чисел

На протяжении многих лет модуль math в Python становился все более перегруженным. Он начинался как обёртка над C-стандартом математических функций (в основном — с плавающей точкой), но со временем туда добавили и функции, не имеющие к нему отношения: math.gcd(), math.factorial(), math.isqrt() и другие.

Это породило путаницу:
— В документации math указано, что функции возвращают float, но это не так для math.gcd() или math.factorial().
— Невозможно чётко описать, какие типы аргументов принимает каждая функция.
— Сложнее разобраться, где искать нужные функции: целочисленные, статистические, комплексные — все перемешаны.

Что предлагает PEP 791

Создать новый модуль imath, в котором будут собраны функции, работающие строго с целыми числами. Все возвращаемые значения — тоже целые (int).

Вот список функций, которые переедут из math в imath:
🔎 comb() — число сочетаний
🔎 factorial() — факториал
🔎 gcd() — наибольший общий делитель
🔎 isqrt() — целочисленный квадратный корень
🔎 lcm() — наименьшее общее кратное
🔎 perm() — число размещений

Их аналоги в math сохранятся, но будут мягко устаревшими (soft deprecated) — они останутся в коде, но будут помечены как нежелательные к использованию.

В PEP пока не входят новые функции, но обсуждается возможное расширение: число Делануа, тесты на простоту и другие инструменты теории чисел.

📌 Вывод: imath — это шаг к более чистой архитектуре стандартной библиотеки. Целые числа заслужили свой модуль.
Что думаете? Стоит ли Python разделять модули дальше по специализации?

🔗 Подробнее в PEP 791: https://clc.to/POzTkw

Библиотека питониста #свежак

📐 Новый модуль imath в Python: математика для целых чисел

На протяжении многих лет модуль math в Python становился все более перегруженным. Он начинался как обёртка над C-стандартом математических функций (в основном — с плавающей точкой), но со временем туда добавили и функции, не имеющие к нему отношения: math.gcd(), math.factorial(), math.isqrt() и другие.

Это породило путаницу:
— В документации math указано, что функции возвращают float, но это не так для math.gcd() или math.factorial().
— Невозможно чётко описать, какие типы аргументов принимает каждая функция.
— Сложнее разобраться, где искать нужные функции: целочисленные, статистические, комплексные — все перемешаны.

Что предлагает PEP 791

Создать новый модуль imath, в котором будут собраны функции, работающие строго с целыми числами. Все возвращаемые значения — тоже целые (int).

Вот список функций, которые переедут из math в imath:
🔎 comb() — число сочетаний
🔎 factorial() — факториал
🔎 gcd() — наибольший общий делитель
🔎 isqrt() — целочисленный квадратный корень
🔎 lcm() — наименьшее общее кратное
🔎 perm() — число размещений

Их аналоги в math сохранятся, но будут мягко устаревшими (soft deprecated) — они останутся в коде, но будут помечены как нежелательные к использованию.

В PEP пока не входят новые функции, но обсуждается возможное расширение: число Делануа, тесты на простоту и другие инструменты теории чисел.

📌 Вывод: imath — это шаг к более чистой архитектуре стандартной библиотеки. Целые числа заслужили свой модуль.
Что думаете? Стоит ли Python разделять модули дальше по специализации?

🔗 Подробнее в PEP 791: https://clc.to/POzTkw

Библиотека питониста #свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2253🔥2💯2


>>Click here to continue<<

Библиотека питониста | Python, Django, Flask






Share with your best friend
VIEW MORE

United States America Popular Telegram Group (US)