このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。

【Python入門】計算で使う関数

計算で使う関数

 Pythonには、数値計算を効率的に行うための組み込み関数が豊富に用意されています。これらの関数は、単純な値の変換から、複雑な計算処理までをサポートし、プログラムの信頼性と可読性を向上させます。
 ここでは、絶対値を求めるabs、除算の商と剰余をまとめて求めるdivmod、べき乗計算を行うpow、丸めを行うround、最小値・最大値を求めるmin/max、そして合計を求めるsumなど、計算で使う主要な関数の使い方とその応用例について、表や具体的なサンプルプログラムを通じて解説します。

プログラムのダウンロード

 「ダウンロード」から、JupyterLab で実行できるサンプルプログラムがダウンロードできます。ファイルは、ESET Endpoint Securityでウイルスチェックをしておりますが、ダウンロードとプログラムの実行は自己責任でお願いいたします。

1.基本的な数値計算関数

1.1. 絶対値を求めるabs関数

 abs関数は、与えられた数値の絶対値(負の符号を取り除いた値)を返します。整数、浮動小数点数、複素数などに対応しています。

# abs関数を使って絶対値を求める例
print("abs(123) =", abs(123))     # 出力: abs(123) = 123
print("abs(-456) =", abs(-456))   # 出力: abs(-456) = 456

実行結果

abs(123) = 123
abs(-456) = 456

解説

 abs(123) は123を返し、abs(-456) は456を返します。負の数値に対して、その符号を除いた正の値が得られます。

1.2. 商と剰余を求めるdivmod関数

 divmod関数は、2つの数値を割ったときの商と剰余をタプルとして返します。整数および浮動小数点数に対応しています。

# divmod関数を使って商と剰余を求める例
quotient, remainder = divmod(7, 3)
print("divmod(7, 3) =", (quotient, remainder))  # 出力: divmod(7, 3) = (2, 1)

実行結果

divmod(7, 3) = (2, 1)

解説

 7を3で割ると、商は2、剰余は1となります。divmod関数は(2, 1)のタプルを返し、一度に両方の結果を取得できます。

1.3. べき乗を求めるpow関数

 pow関数は、2個または3個の引数を取り、べき乗を計算します。引数が2個の場合は A**B と同じ計算を行い、3個の場合は AのB乗をCで割った余りを返します。

# pow関数を使ったべき乗計算の例
print("pow(2, 3) =", pow(2, 3))          # 出力: pow(2, 3) = 8
print("pow(2, 3, 5) =", pow(2, 3, 5))      # 出力: pow(2, 3, 5) = 3

実行結果

pow(2, 3) = 8
pow(2, 3, 5) = 3

解説

  • pow(2, 3) は2の3乗、すなわち8を返します。
  • pow(2, 3, 5) は、2の3乗(8)を5で割った余り、すなわち3を返します。

2.丸めや比較を行う関数

2.1. 数値の丸めを行うround関数

 round関数は、与えられた数値を指定した桁数に丸めて返します。桁数を省略すると、最も近い整数に丸められます。また、端数が中間値の場合は偶数への丸めが行われます。

# round関数を使って丸めを行う例
print("round(3.14159) =", round(3.14159))         # 出力: round(3.14159) = 3
print("round(3.14159, 2) =", round(3.14159, 2))     # 出力: round(3.14159, 2) = 3.14
print("round(1.5) =", round(1.5))                   # 出力: round(1.5) = 2
print("round(123, -1) =", round(123, -1))           # 出力: round(123, -1) = 120

実行結果

round(3.14159) = 3
round(3.14159, 2) = 3.14
round(1.5) = 2
round(123, -1) = 120

解説

  • 3.14159は、桁数指定なしの場合は最も近い整数の3に丸められ、2桁指定の場合は3.14に丸められます。
  • 1.5の場合、偶数丸めにより2が選ばれます。
  • 整数123に対して負の桁数を指定すると、下1桁が丸められ、120が返されます。

2.2. 最小値と最大値を求めるmin/max関数

min関数とmax関数は、複数の値やイテラブルの要素から、それぞれ最小値と最大値を返します。

# min関数とmax関数を使ってリスト内の最小値と最大値を求める例
scores = [88, 92, 75, 100, 67]
print("Minimum score:", min(scores))  # 出力: Minimum score: 67
print("Maximum score:", max(scores))  # 出力: Maximum score: 100

実行結果

Minimum score: 67
Maximum score: 100

解説

  • リストscores内の最小値は67、最大値は100となります。
  • これらの関数は、数値だけでなく文字列などにも適用でき、文字列の場合は辞書順に比較されます。

3.合計を求める関数

3.1. sum関数の使い方

 sum関数は、イテラブルに含まれる数値の合計を返す非常にシンプルな関数です。forループで計算するよりも簡潔に記述できます。

# sum関数を使って数値リストの合計と平均を計算する例
values = [90, 85, 78, 92, 88]
total = sum(values)
average = total / len(values)
print("Total:", total)       # 出力: Total: 433
print("Average:", average)   # 出力: Average: 86.6

実行結果

Total: 433
Average: 86.6

解説

  • sum(values) により、リスト内の全要素の合計が計算されます。
  • 平均値は合計を要素数で割ることで求められます。

まとめ

計算で使う関数は、数値の基本計算から丸め、比較、合計まで、幅広い処理をサポートします。

  • abs関数は絶対値を、divmod関数は商と剰余をまとめて返します。
  • pow関数はべき乗を計算し、引数が3個の場合は効率的に剰余を求めます。
  • round関数は、指定桁数に丸め、偶数丸めにも対応します。
  • min、max関数は、最小値・最大値を返し、sum関数は要素の合計を簡単に求めることができます。

 これらの関数を活用することで、数値計算やデータ集計が非常に効率よく行え、プログラム全体のコードがシンプルかつ読みやすくなります。