84c84 < def __new__(cls, numerator=0, denominator=None, _normalize=True): --- > def __new__(cls, numerator=0, denominator=None, *, _normalize=True): 459,466c459,466 < if power >= 0: < return Fraction(a._numerator ** power, < a._denominator ** power, < _normalize=False) < else: < return Fraction(a._denominator ** -power, < a._numerator ** -power, < _normalize=False) --- > num = a._numerator > den = a._denominator > if power < 0: > num, den, power = den, num, -power > if den < 0: > num = -num > den = -den > return Fraction(num ** power, den ** power, _normalize=False)