言語バージョン 3.9.0

公開日 2020年12月6日 JST

更新日 2020年12月19日 JST

コード例の出力としてprint関数を使用しています。

使用方法がわからない場合は以下のページを参照してからコード例を確認してください。

print関数の使用方法

abs

このページでは豊富な例を用いてPythonのabs関数の使い方を学ぶことができます。

absはPythonの組み込み関数で、引数の 絶対値 を戻り値(返り値)として返します。
引数はintやfloatなどの__abs__メソッドを実装したクラスのオブジェクトを取ることができます。
引数が複素数(complex number)の場合、 複素数の絶対値(magnitude) が戻り値となります。

複素数の絶対値定義(|z|が絶対値)
z=a+bia,bRz = a + bi (a,b\in\mathbb{R})
z:=a2+b2|z| := \sqrt{a^2 + b^2}

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|が絶対値)
z=a+bia,bRz = a + bi (a,b\in\mathbb{R})
z:=a2+b2|z| := \sqrt{a^2 + b^2}

# 複素数 -4+9i の場合
complex1 = -4 + 9j
abs_complex1 = abs(complex1)
# 複素数の絶対値は √(-4^2 + 9^2)
print(abs_complex1)
==> 9.848857801796104
print(type(abs_complex1))
==> <class 'float'>

1次情報

abs 組み込み関数 - Pythonドキュメント

複素数の絶対値 - ウィキペディア