# Python Fractions Module

The `fractions` module provides support for rational number arithmetic. A Fraction instance can be constructed from a pair of integers, from another rational number, or from a string.

## Importing the Module

```python
from fractions import Fraction
```

## Creating Fractions

### From Integers

You can create a Fraction by passing the numerator and denominator.

```python
from fractions import Fraction

f = Fraction(3, 4)
print(f) # Output: 3/4
```

### From Strings

```python
print(Fraction('3/7')) # Output: 3/7
print(Fraction(' -3/7 ')) # Output: -3/7
print(Fraction('1.41421356')) # Output: 141421356/100000000
```

### From Floats

Creating a Fraction from a float can lead to unexpected results due to floating-point representation issues.

```python
print(Fraction(1.1))
# Output: 2476979795053773/2251799813685248
```

### From Decimals

Creating from a `Decimal` instance usually gives the expected result.

```python
from decimal import Decimal
print(Fraction(Decimal('1.1'))) # Output: 11/10
```

## Arithmetic Operations

Fractions support standard arithmetic operations.

```python
a = Fraction(1, 2)
b = Fraction(1, 3)

print(a + b) # Output: 5/6
print(a - b) # Output: 1/6
print(a * b) # Output: 1/6
print(a / b) # Output: 3/2
```

## Limiting Denominator

The `limit_denominator()` method finds the closest rational number to a given float (or Fraction) with a denominator no larger than the argument.

```python
import math
from fractions import Fraction

print(Fraction(math.pi).limit_denominator(10))  # Output: 22/7
```

[[programming/python/python]]