Pythonで絶対値を求める場合、どうすればいいのでしょうか?
そのような場合は、組み込み関数のabs関数を利用します。
組み込み関数というのが、ポイントです。
組み込み関数なら、外部ライブラリやモジュールをインポートする必要がありません。
もちろん、組み込み関数なら処理も速いです。
本記事では、Pythonで絶対値を求める組み込み関数について解説していきます。
同時に、PHPやJavaScriptで絶対値を求めるケースについても説明します。
本記事の内容
- Pythonで絶対値を求める
- PHPで絶対値を求める
- JavaScriptで絶対値を求める
- 絶対値を扱うプログラミングは?
私は、PHPやJavaScriptの経験が10年以上です。
そのため、PHPやJavaSriptと比較した方がPythonを覚え易いです。
何かと比較した方が、物事を習得し易いですからね。
結構、同じような境遇の人も多いはずです。
Pythonを新たに習得するというケースでは。
そのこともあり、PHPとJavaScriptのケースも解説しています。
それでは、記事内容の説明に入ります。
Pythonで絶対値を求める
Pythonの公式では、次のような説明です。
https://docs.python.org/ja/3.7/library/functions.html
abs(x) 数の絶対値を返します。引数は整数または浮動小数点数です。引数が複素数なら、その絶対値 (magnitude) が返されます。
複素数は、虚数が出てくるヤツです。
正直、普通にプログラミングしていれば扱うことはありません。
実際、私は複素数(虚数)をプログラミングで扱ったことがないです。
また、Pythonでは複素数を扱う組み込み関数(complex)が用意されています。
complex関数を説明する際に、複素数の絶対値を確認します。
そのため、今回は整数と小数点数のみを対象とします。
以下が、整数と小数点数の絶対値を求めるPythonコードです。
# 正の整数 a = 1 # 負の整数 b = -1 # 正の浮動小数点数 c = 0.1 # 負の浮動小数点数 d = -0.1 print(abs(a)) print(abs(b)) print(abs(c)) print(abs(d))
上記の実行結果は以下。
1 1 0.1 0.1
次は、PHPで絶対値を求めましょう。
PHPで絶対値を求める
PHPの公式では、次のような説明です。
https://www.php.net/manual/ja/function.abs.php
abs ( mixed $number ) : number number の絶対値を返します。もし number の型が float であった場合、 返り値の型も float となります。それ以外の場合は 返り値の型は integer となります(float は、 integer の最大値より大きい値をとることがありえるからです)。
PHPは、整数と小数点数のみが対象です。
Pythonのように、複素数までは対象としていません。
以下が、整数と小数点数の絶対値を求めるPHPコードです。
// 正の整数 $a = 1; // 負の整数 $b = -1; // 正の浮動小数点数 $c = 0.1; // 負の浮動小数点数 $d = -0.1; print abs($a); print "<br />"; print abs($b); print "<br />"; print abs($c); print "<br />"; print abs($d); print "<br />";
上記の実行結果は、以下。
Pythonと同じですね。
1 1 0.1 0.1
最後に、JavaScriptで絶対値を求めましょう。
JavaScriptで絶対値を求める
JavaScriptの公式では、次のような説明です。
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Math/abs
Math.abs(x) 与えられた数値 (数字) の絶対値。
JavaScriptらしい大雑把な説明です。
複素数を対象にしているのかどうかは不明です。
Pythonでcomplex関数を検証する際に、JavaScritpにおける複素数も確認してみます。
以下が、整数と小数点数の絶対値を求めるJavaScritpコードです。
// 正の整数 let a = 1; // 負の整数 let b = -1; // 正の浮動小数点数 let c = 0.1; // 負の浮動小数点数 let d = -0.1; console.log(Math.abs(a)); console.log(Math.abs(b)); console.log(Math.abs(c)); console.log(Math.abs(d));
上記の実行結果は、以下。
Python、PHPと同じですね。
1 1 0.1 0.1
絶対値を扱うプログラミングは?
以下のプログラム言語において、絶対値を求める方法を確認してきました。
- Python
- PHP
- JavaScript
絶対値を求める関数名は、absで統一されていました。
JavaScriptは、「Math.」が前に必要ですけどね。
さて、絶対値を使うケースについて話をしましょう。
そもそも、絶対値をプログラムで扱うケースがあるのか?
これは、複素数と違ってあります。
2つの数値の差を求める時には、絶対値を求める関数を利用します。
あとは、2点間の距離を求めるケースで何度か絶対値を使ったことがあります。
座標間の距離を求めて、ゴニョゴニョゴとするパターンです。
こうやってプログラミング経験を振り返ると、絶対値は意外とよく出てきていますね。
そうだとしたら、Pythonでもabs関数を何度か使うことになるのでしょう。