円周率の近似値のインポート

円周率の近似値のインポート

円周率の近似値

 Python で 円周率の近似値 を使いたいときには、mathモジュールの math.pi , あるいは numpyモジュールの numpy.pi をインポートします。

math.pi

 math.pi は mathモジュールに用意されている 16 桁の円周率近似値です。

# mathモジュールをインポートします
import math

# 円周率の近似値
x = math.pi

# 円周率の近似値の桁数
y = len(str(x))-1

print("pi = {}".format(x))
print("桁数 {}".format(y))
pi = 3.141592653589793
桁数 16

 桁数を求めるときに、str関数で文字列に変換して len関数で長さを求め、小数点1文字を差し引いています。

 from math import pi と記述して math.pi を呼びだしておけば、pi という名前で円周率を扱えます。

# mathモジュールから円周率の近似値をインポートします
from math import pi

print(pi)
3.141592653589793

 

math.tau

 math.tau は数学定数 τ の近似値を呼び出します。τ は [円周/半径] 、すなわち円周率の 2 倍に等しい定数として定義されています。

# mathモジュールをインポート
import math

# τ = 2*pi の近似値
x = math.tau

print("τ = {}".format(x))
τ = 6.283185307179586

 from math import tau によって math.tau をインポートしておけば、tau という名前で τ を扱うことができます。

# mathモジュールをインポート
from math import tau

# τ = 2*pi の近似値を表示
print(tau)
6.283185307179586

 

numpy.pi

 numpy.pi は numpyモジュールに用意されている 16 桁の円周率近似値です。

# numpyモジュールを np という名前でインポートします
import numpy as np

# 円周率の近似値
x = np.pi

# 円周率の近似値の桁数
y = len(str(x))-1

print("pi = {}".format(x))
print("桁数 {}".format(y))
pi = 3.141592653589793
桁数 16

 精度は math.pi と同じです。
 numpyモジュールを np という名前で扱うのは慣習です。

 from numpy import pi と記述して numpy.pi をインポートすると、pi という名前で円周率を扱えるようになります。

# numpyモジュールから円周率の近似値をインポートします
from numpy import pi

print(pi)
3.141592653589793

 

円周率近似値を用いた計算例

 math.pi を用いた計算例を載せておきます。
 numpy.pi を用いても結果は同じなので、好きな方を使ってください。

円の周長と面積の計算

 半径 5 の円の周長と面積を計算するサンプルコードです。

# mathモジュールから円周率の近似値をインポートします
from math import pi

# 半径 5 の円の周長と面積を計算
# (p は perimeter, s は surface area の頭文字)
circle5_p = 2 * pi * 5
circle5_s = pi * 5 ** 2

print("L = {}".format(circle5_p))
print("S = {}.format(circle5_s))"
L = 31.41592653589793
S = 78.53981633974483

 

球の表面積と体積の計算

 半径 11 の球の表面積と体積を計算するサンプルコードです。

# mathモジュールから円周率の近似値をインポートします
from math import pi

# 半径 11 の球の表面積と体積を計算
# (s は surface area の頭文字, v は volume の頭文字)
sphere11_s = 4 * pi * 11 ** 2
sphere11_v = (4 * pi * 11 ** 3) / 3

print("S = {}".format(sphere11_s))
print("V = {}".format(sphere11_v))
S = 1520.53084433746
V = 5575.279762570685