# Fractional module in Python

Python Methods and Functions

Fraction instances. An instance of a fraction can be created from a pair of integers, another rational number, or a string. Fraction instances are hashable and should be treated as immutable.

1. fractions of a class. Fraction (Numerator = 0, Denominator = 1): This requires both the numerator and denominator to be instances of numbers. Rationally and an instance of the fraction with value = (numerator / denominator) is returned. A zero split error occurs if the denominator = 0.

 ` from ` ` fractions ` ` import ` ` Fraction `   ` print ` ` Fraction (` ` 11 ` `, ` ` 35 ` `) ` ` # returns the fraction (11, 35) `   ` print ` ` Fraction (` ` 10 ` `, ` ` 18 ` `) ` ` # returns the fraction (5, 9) ` ` `  ` print ` ` Fraction () ` ` # returns fraction (0, 1) `

Output:

` 11/35 5 / 9 0 `
2. class fractions.Fraction (other_fraction): This requires other_fraction to be a numbers.Rational instance and a faction instance with the same value is returned.
3. class fractions.Fraction (float): this requires an instance of type float and returns a fraction instance with the same value.

 ` from ` ` fractions ` ` import ` ` Fraction ` ` `  ` print ` ` Fraction (` ` 1.13 ` < code class = "plain">) ` # returns a fraction (1272266894732165, 1125899906842624) `

Output:

` 1272266894732165/1125899906842624 `
4. class fractions.Fraction (decimal): this requires a decimal instance and returns a fraction instance with the same value.

` `

` from fractions import Fraction   print Fraction ( '1.13' ) # returns the fraction (113, 100) `

` `

Output:

` 1 13/100 `
5. class fractions.Fraction (string): this requires an instance of a string or unicode instance and returns an instance of fractions with that same value.

The form for this instance is: [sign] numerator [& # 39; / & # 39; denominator]
Here, the sign represents "+" or "-", and the numerator and denominator are single-digit strings.

` `

 ` from ` ` fractions ` ` import ` ` Fraction `   ` print ` ` Fraction (` `' 8 / 25' ` `) ` ` # returns the fraction (8, 25) `   ` print ` ` Fraction (` ` '1.13' ` `) ` ` # returns fraction (113, 100) `   ` print ` ` Frac tion (` ` '3 / 7' ` `) ` ` # returns the fraction (3, 7) `   ` print ` ` Fraction (` ` '1.414213' ` `) ` ` # returns the fraction (1414213, 1000000) `
` `

` `

Output:

` 8/25 113/100 3/7 1414213/1000000 `
6. limit_denominator ( max_denominator = 1000000):
• This method is useful for finding rational approximations to a given floating point number.
• This module finds and returns the nearest fraction with a denominator of at most max_denominator.
• This module can also be used to return the numerator of a given fraction in the smallest term using the numerator property and the denominator using the  denominator .

 ` from ` ` fractions ` ` import ` ` Fraction `   ` print ` ` Fraction (` ` '3.14159265358979323846' ` `) ` ` # returns the fraction (157079632679489661923, 50000000000000000000) ` ` `  ` print ` ` Fraction (` ` '3.14159265358979323846' ` `). limit_denominator (` ` 10000 ` `) ` ` # returns the fraction (355, 113) `   ` print ` ` Fraction (` ` '3.14159265358979323846' ` `). limit_denominator (` ` 100 ` `) ` ` # returns the fraction (311, 99) `   ` print ` ` Fraction (` ` '3.14159265358979323846' ` `). limit_denominator (` ` 10 ` `) ` ` # returns the fraction (22, 7) `   ` print ` ` Fraction (` ` 125 ` `, ` ` 50 ` `). numerator ` ` # returns 5 `    ` print ` ` Fraction (` ` 125 ` `, ` ` 50 ` `). denominator ` ` # returns 2 `

Output:

` 157079632679489661923/50000000000000000000 355/113 311/99 22/7 5 2 `

Performing mathematical operations on fractions

` `

` from fractions import Fraction   print Fraction ( 113 , 100 ) + Fraction ( 25 , 18 ) # returns the fraction (2267, 900 )   print Fraction ( 18 , 5 ) / Fraction ( 18 , 10 ) # returns the fraction (2, 1)   print Fraction ( 18 , 5 ) * Fraction ( 16 , 19 ) # returns the fraction (288, 95)   print Fraction ( 18 , 5 ) * Fraction ( 15 , 36 ) # returns the fraction (3, 2)   print Fraction ( 12 , 5 ) * * Fraction ( 12 , 10 ) # returns 2.8592589556010197 `

` `

Output:

` 2267/900 2 288/95 3/2 2.8592589556 `

Fractional calculations using various functions of the math module

` `

 ` import ` ` math ` ` from ` ` fractions ` ` import ` ` Fraction ` ` `  ` print ` ` math.sqrt (Fraction (` ` 25 ` ` , ` ` 4 ` `)) ` ` # returns 2.5 `   ` print ` ` math.sqrt (Fraction (` ` 28 ` `, ` ` 3 ` `)) ` ` # returns 3.0550504633038935 `   ` print ` ` math.floor (Fraction (` ` 3558 ` `, ` ` 1213 ` `)) ` ` # returns 2 `   ` print ` ` Fraction (math.sin (math.pi ` ` / ` ` 3 ` `)) ` ` # returns the fraction ( 3900231685776981, 4503599627370496) `   ` print ` ` Fraction (math.sin (math.pi ` ` / ` ` 3 ` `)). limit_denominator (` ` 10 ` `) ` ` # returns the fraction (6, 7) `
` `

` `

Output:

` 2.5 3.0550504633 2.0 3900231685776981/4503599627370496 6/7 `

This article courtesy of Aditi Gupta . If you are as Python.Engineering and would like to contribute, you can also write an article using contribute.python.engineering or by posting an article contribute @ python.engineering. See my article appearing on the Python.Engineering homepage and help other geeks.