abs
このページでは豊富な例を用いてPythonのabs関数の使い方を学ぶことができます。
absはPythonの組み込み関数で、引数の
絶対値
を戻り値(返り値)として返します。
引数はintやfloatなどの__abs__メソッドを実装したクラスのオブジェクトを取ることができます。
引数が複素数(complex number)の場合、
複素数の絶対値(magnitude)
が戻り値となります。
複素数の絶対値定義(|z|が絶対値)
TL;DR
基本
# abs関数は引数で与えた値の絶対値を返す
int1 = -1
absolute_value1 = abs(int1)
# -1の絶対値は1
print(absolute_value1)
==> 1
# 戻り値の型は引数の型と同じ
print(type(absolute_value1))
==> <class 'int'>
# 元の変数には変更なし
print(int1)
==> -1
# float(浮動小数点数)の場合
absolute_value2 = abs(-3.14)
print(absolute_value2)
==> 3.14
# 戻り値の型は引数の型と同じ
print(type(absolute_value2))
==> <class 'float'>
# 正の数なので絶対値はそのまま
print(abs(3.14))
==> 3.14
# 並び替えによる差異
list1 = [-1000, -5, 100, 3]
# 各要素の昇順にソート
list1.sort()
print(list1)
==> [-1000, -5, 3, 100]
# 各要素の絶対値の昇順にソート
list1.sort(key=lambda e: abs(e))
print(list1)
==> [3, -5, 100, -1000]
関連情報:sort(listクラス)の使用方法
複素数の絶対値
# 複素数 -5+4i の場合
complex1 = -5 + 4j
abs_complex1 = abs(complex1)
# 複素数の絶対値は √(-5^2 + 4^2)
print(abs_complex1)
==> 6.4031242374328485
# 戻り値はfloat
print(type(abs_complex1))
==> <class 'float'>
# 複素数 4+3i の場合
complex2 = 4 + 3j
abs_complex2 = abs(complex2)
print(abs_complex2)
==> 5.0
# 戻り値はfloat
print(type(abs_complex2))
==> <class 'float'>
関連情報:複素数の絶対値 - ウィキペディア
解説
基本
abs関数は引数として与えた数値の絶対値を戻り値として返します。
引数で与えられる値は__abs__メソッドを実装したクラスのオブジェクトです。(intやfloatなど)
intやfloatを引数として与えた場合、戻り値は引数で与えた型と同じ型のオブジェクトです。
int1 = -500
abs_value1 = abs(int1)
print(abs_value1)
==> 500
# 戻り値の型は引数の型と同じ
print(type(abs_value1))
==> <class 'int'>
# 元の変数には変更なし
print(int1)
==> -500
list1 = [500, -50, 5, -100]
# 各要素の昇順にソート
list1.sort()
print(list1)
==> [-100, -50, 5, 500]
# 各要素の絶対値の昇順にソート
list1.sort(key=lambda e: abs(e))
print(list1)
==> [5, -50, -100, 500]
関連情報:sort(listクラス)の使用方法
複素数の絶対値
abs関数は複素数(complex number)を引数として与えた場合は、 複素数の絶対値(magnitude) を戻り値として返します。
複素数の絶対値とは複素数平面における原点からの距離であり、以下の式で定義されています。
複素数の絶対値定義(|z|が絶対値)
# 複素数 -4+9i の場合
complex1 = -4 + 9j
abs_complex1 = abs(complex1)
# 複素数の絶対値は √(-4^2 + 9^2)
print(abs_complex1)
==> 9.848857801796104
print(type(abs_complex1))
==> <class 'float'>