Python Glossary English

все Python 3до 3.9Числа и математикафункция

fractions.gcd()

удалено

Наибольший общий делитель из модуля fractions. Удалён в Python 3.9 — используйте math.gcd().

Синтаксис

fractions.gcd(a, b)  # до 3.9

Функция жила в fractions, потому что была нужна для сокращения дробей. В Python 3.5 появилась math.gcd() — быстрее и в правильном модуле, — и fractions.gcd() объявили устаревшей, а в 3.9 убрали. Как переписать: from fractions import gcd → from math import gcd. Одно отличие: у fractions.gcd() знак результата следовал за вторым аргументом, а math.gcd() всегда неотрицательна. С 3.9 math.gcd() принимает любое число аргументов, а для НОК есть math.lcm().

Примеры

# Python 3.9+
import fractions
try:
    fractions.gcd(12, 18)
except AttributeError as e:
    print(type(e).__name__)  # → AttributeError
# Python 3.9+
import math
print(math.gcd(12, 18))  # → 6
print(math.gcd(4, -6))  # → 2
print(math.gcd(12, 18, 27))  # → 3
import fractions
print(fractions.gcd(12, 18))  # → 6
print(fractions.gcd(4, -6))  # → -2

См. также

Частые ошибки

Открыть в полном глоссарииdocs.python.orgСообщить о неточности