--- Lib/fractions.py 2014-08-22 18:59:30.623831217 +0200 +++ Lib/fractions.py 2014-09-22 20:39:37.772830118 +0200 @@ -153,6 +153,9 @@ raise TypeError("argument should be a string " "or a Rational instance") + elif isinstance(numerator, int) and isinstance(denominator, int): + pass # *very* normal case + elif (isinstance(numerator, numbers.Rational) and isinstance(denominator, numbers.Rational)): numerator, denominator = (