Число π в 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, поэтому свои приближения оправданы разве что в учебных примерах.
Читайте также: