PYPROGLIB Telegram 6736
📐 Новый модуль 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



tgoop.com/pyproglib/6736
Create:
Last 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

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

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




Share with your friend now:
tgoop.com/pyproglib/6736

View MORE
Open in Telegram


Telegram News

Date: |

It’s yet another bloodbath on Satoshi Street. As of press time, Bitcoin (BTC) and the broader cryptocurrency market have corrected another 10 percent amid a massive sell-off. Ethereum (EHT) is down a staggering 15 percent moving close to $1,000, down more than 42 percent on the weekly chart. To delete a channel with over 1,000 subscribers, you need to contact user support Over 33,000 people sent out over 1,000 doxxing messages in the group. Although the administrators tried to delete all of the messages, the posting speed was far too much for them to keep up. How to create a business channel on Telegram? (Tutorial) The best encrypted messaging apps
from us


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