Число π в Python берут из модуля math: import math, затем math.pi, и константа равна 3.141592653589793 (документация модуля math). Отдельной функции для π в языке нет, это готовая константа типа float, и ее подставляют в формулы напрямую: 2 * math.pi * radius для длины окружности, math.pi * radius ** 2 для площади круга.

Кратко

  • math.pi это константа, а не функция: скобки после нее не ставят.
  • Точность ограничена типом float: 15-16 значащих цифр, то есть 3.141592653589793. Больше знаков модуль math не даст.
  • Рядом лежит math.tau (это 2π, 6.283185307179586): с ним формулы с полным оборотом пишутся короче.
  • Длина окружности 2 * math.pi * r, площадь круга math.pi * r ** 2, объем шара 4 / 3 * math.pi * r ** 3, площадь поверхности шара 4 * math.pi * r ** 2.
  • Тригонометрические функции в Python принимают радианы, поэтому градусы переводят через math.radians(), а не умножают на π вручную.
  • Если считаете на массивах, та же константа есть в NumPy (np.pi), а для расчетов с точностью выше float берут модуль decimal.

Введение в π (Пи)

В математике π (Пи) представляет собой отношение длины окружности к ее диаметру, примерно 3,14159. Эта константа играет ключевую роль в различных областях, включая математику, физику, инженерное дело и информатику.

math.pi в Python

В Python значение π доступно через модуль math в виде math.pi. Эта константа необходима для многочисленных вычислений, таких как определение площади и окружности круга, а также площади поверхности и объема сферы.

Применения в реальной жизни

  • Инженерия: вычисление площадей и объемов при проектировании.
  • Астрономия: расчет размеров и орбит небесных тел.
  • Физика: моделирование волновых процессов.
  • Компьютерная графика: построение кривых и окружностей.
  • Статистика: расчеты с нормальным распределением, в формулу которого входит π.

Как использовать math.pi: пример

Чтобы использовать π в Python, необходимо импортировать модуль math. Вот как с помощью math.pi вычислить длину окружности и площадь круга, а также объем и площадь поверхности сферы.
import math

def circumference_of_circle(radius):
    return 2 * math.pi * radius

def area_of_circle(radius):
    return math.pi * radius ** 2

def volume_of_sphere(radius):
    return (4.0 / 3) * math.pi * radius ** 3

def surface_area_of_sphere(radius):
    return 4 * math.pi * radius ** 2

if __name__ == "__main__":
    radius = 5
    print("Окружность круга =", circumference_of_circle(radius))
    print("Площадь круга =", area_of_circle(radius))
    print("Объем сферы =", volume_of_sphere(radius))
    print("Площадь поверхности сферы =", surface_area_of_sphere(radius))
Вывод
Окружность круга = 31.41592653589793
Площадь круга = 78.53981633974483
Объем сферы = 523.5987755982989
Площадь поверхности сферы = 314.1592653589793
Радиус не обязательно зашивать в код, его можно спросить у пользователя. Функция input() всегда возвращает строку, поэтому результат приводят к числу через float(), а ответ округляют функцией round():
import math

radius = float(input("Введите радиус: "))
area = math.pi * radius ** 2

print("Площадь круга =", round(area, 2))
Пример работы
Введите радиус: 5
Площадь круга = 78.54
Заодно посмотрите на константу math.tau: это 2π, то есть полный оборот. С ней формула длины окружности становится короче, а результат получается тот же:
import math

radius = 5
print(math.tau)             # 6.283185307179586
print(math.tau * radius)    # 31.41592653589793
print(2 * math.pi * radius) # 31.41592653589793

Формулы с π: шпаргалка

Все формулы из примера в одном месте, значения посчитаны для радиуса 5:
Что считаем Формула Код на Python Результат при r = 5
Длина окружности 2πr 2 * math.pi * r 31.41592653589793
Площадь круга πr² math.pi * r ** 2 78.53981633974483
Объем шара 4/3 πr³ 4 / 3 * math.pi * r ** 3 523.5987755982989
Площадь поверхности шара 4πr² 4 * math.pi * r ** 2 314.1592653589793
Площадь сектора πr² × (угол / 360) math.pi * r ** 2 * angle / 360 зависит от угла
Градусы в радианы угол × π / 180 math.radians(angle) math.radians(180) даст 3.141592653589793

Подробное объяснение

  • Длина окружности: формула 2 * math.pi * radius вычисляет длину линии, ограничивающей круг.
  • Площадь круга: выражение math.pi * radius ** 2 вычисляет площадь внутри окружности.
  • Объем шара: по формуле (4.0 / 3) * math.pi * radius ** 3 находят объем тела, ограниченного сферой.
  • Площадь поверхности сферы: выражение 4 * math.pi * radius ** 2 вычисляет площадь самой поверхности.

Заключение

Понимание и использование math.pi в Python это простой и мощный инструмент для различных математических и научных расчетов. Практикуясь на приведенных примерах, вы сможете улучшить свои навыки кодирования и применить полученные знания для решения реальных задач. Продолжайте экспериментировать и учиться! Не стесняйтесь возвращаться к этому руководству, когда вам понадобится дополнительная информация. Счастливого кодирования!

Вопросы и ответы

Как получить число пи в Python?

Импортировать модуль math и обратиться к константе math.pi: import math, затем print(math.pi) напечатает 3.141592653589793. Скобки не нужны, это именно константа, а не функция. Если в проекте уже используется NumPy, там есть такая же константа np.pi с тем же значением.

Сколько знаков после запятой у math.pi?

Константа хранится в типе float, то есть в виде числа двойной точности, и дает 15-16 значащих цифр: 3.141592653589793. Это предел не модуля math, а самого типа данных. Если нужны сотни знаков, берут модуль decimal и задают π строкой с нужной точностью или считают ее численным методом, например рядом Чудновского.

Чем math.tau отличается от math.pi?

math.tau это 2π, то есть 6.283185307179586 (документация Python). Константу добавили в Python 3.6, потому что во многих формулах фигурирует именно полный оборот: длина окружности превращается в tau * r, а полный круг в радианах записывается как tau, а не 2 * pi. На результат выбор не влияет, только на читаемость.

Почему math.sin(math.pi) не равен нулю?

Потому что math.pi это приближение: настоящее π иррационально, и в float помещается лишь часть его цифр. Синус от чуть-чуть неточного значения дает не ноль, а 1.2246467991473532e-16, то есть примерно 0.000000000000000122. Сравнивать такие результаты через == нельзя, для этого есть math.isclose(math.sin(math.pi), 0, abs_tol=1e-9).

Нужно ли переводить градусы в радианы?

Да, все тригонометрические функции модуля math работают с радианами. Перевод делает math.radians(): math.radians(180) вернет то же значение, что и math.pi. Обратное преобразование выполняет math.degrees(). Умножать на math.pi / 180 вручную можно, но встроенные функции короче и не дают ошибиться в формуле.

Можно ли определить свое значение пи вместо math.pi?

Технически да, pi = 3.14 написать никто не мешает, но это ухудшит точность расчетов: при радиусе 1000 такая замена даст ошибку в несколько единиц уже в длине окружности. Константа из модуля math хранит максимально точное значение, доступное типу float, поэтому свои приближения оправданы разве что в учебных примерах. Читайте также: