roundとは?
Pythonのround関数は、数値を指定した桁数で四捨五入するための組み込み関数です。
日常生活で、アンケート結果の「35.8%」を「36%」と表示したり、割り算の答えを小数第二位までに整えたりすることがあります。round関数も、同じように数値をスッキリと見やすく整形したいときや、計算の精度を調整したいときに役立ちます。
round関数は、1つ目の引数に丸めたい数値を、2つ目の引数に残したい小数点以下の桁数を指定して使います。
round関数の特徴
- 2つ目の引数で小数点以下の桁数を指定できる
- 2つ目の引数を省略すると最も近い整数に丸められる
- 桁数に負の値を指定して整数部分を丸めることも可能
- 0.5のような中間値は最も近い偶数に丸められる点に注意
【関連】
Pythonをもっと詳しく学ぶならpaizaラーニング
基本構文
round関数の基本的な使い方はとてもシンプルです。
- 引数に丸めたい数値だけを指定すると、最も近い整数に丸められる
- 2つ目の引数に、残したい小数点以下の桁数を整数で指定する
- 2つ目の引数に負の数を指定すると、整数部分を丸めることができる(-1なら十の位、-2なら百の位)
それでは、実際のコードを見てみましょう。
出力結果
4
3.14
1230この例では、3つのパターンでround関数を実行しています。
1つ目のround(3.7)は、桁数を指定していないため、最も近い整数の4、2つ目のround(3.14159, 2)は、小数点以下2桁まで残す指定なので、3.14となります。3つ目のround(1234, -1)は、桁数に-1を指定しているため、十の位で丸められ(1の位が四捨五入され)、1230となります。
実用例
ここからは、round関数の実践的な使用例を紹介します。実際のプログラム開発でよくある場面を想定したサンプルコードを通じて、round関数を学んでいきましょう。
基本的な小数点四捨五入
最もシンプルなround関数の使用例です。小数を含む数値を整数に変換します。
出力結果
ネコの体重: 5kg
イヌの体重: 12kgこの例では、2つの変数を、桁数を指定せずにround関数で処理しています。round関数は、引数が0.5より大きい場合は切り上げ、0.5より小さい場合は切り捨てるため、4.7は5に、12.3は12になります。
桁数を指定した四捨五入
小数点以下の桁数を指定して、より精密な四捨五入を行う例です。測定値や計算結果の精度調整に便利です。
出力結果
ウサギの体長: 25.7cm
ハムスターの体長: 8.23cmこの例では、round関数の2つ目の引数で桁数を指定しています。rabbit_lengthは、round(rabbit_length, 1)で小数点以下1桁(つまり2桁目で四捨五入)となり25.7になりました。hamster_lengthは、round(hamster_length, 2)で小数点以下2桁(3桁目で四捨五入)となり、8.23になります。
負の値での桁数指定
桁数に負の値を指定することで、整数部分の桁を四捨五入できます。大きな数値の概算(おおよその数)表示に役立ちます。
出力結果
ゾウの体重(百の位): 3800kg
キリンの体重(十の位): 1230kgこの例では、桁数に負の値を指定しています。elephant_weightは、round(elephant_weight, -2)で百の位(下2桁)が丸められ、3800となります。giraffe_weightは、round(giraffe_weight, -1)で十の位(下1桁)が丸められ、1230となります。
リストの一括処理
複数の数値が含まれるリストに対して、round関数を一括適用する方法です。データ処理でよく使われるパターンです。
出力結果
カメ: 3.1km/h
パンダ: 8.8km/h
ペンギン: 15.9km/h
ライオン: 23.4km/hこの例では、リストに入った複数の速度データを、forループとround関数を組み合わせた「リスト内包表記」で一括処理しています。[round(speed, 1) for speed in animal_speeds]の部分で、リストから数値を一つずつ取り出し(speed)、round(speed, 1)で丸めた結果を新しいリストrounded_speedsに格納しています。
計算結果の四捨五入
計算処理の結果に対してround関数を適用する実用的な例です。割り算や掛け算の結果を見やすく表示できます。
出力結果
トラの1日あたりの餌: 2.14kg
週間合計: 15kgこの例では、割り算の計算結果をround関数で処理しています。計算結果daily_amount(2.142857...)をそのまま表示すると長くなってしまうため、round(daily_amount, 2)を使い、小数点以下2桁で丸めた2.14を表示しています。計算結果をユーザーに見やすく伝えたい場合に役立ちます。
条件分岐での四捨五入
条件に応じて異なる桁数で四捨五入を行う応用例です。データの性質に合わせた柔軟な処理が可能です。
出力結果
クジラの体長: 12.5m
サカナの体長: 0.234mこの例では、if-else文を使って条件に応じたround関数の処理を行っています。まずクジラの体をチェックし、if whale_length > 10:の条件に当てはまるため、ifブロックの中のwhale_result = round(whale_length, 1)が実行され、結果は12.5となります。次にサカナの体長をチェックし、if fish_length < 1:の条件に当てはまるため、ifブロックの中のfish_result = round(fish_length, 3)が実行され、結果は0.234となりました。
このようにif文と組み合わせることで、値の大きさに応じて適切な桁数で数値を丸めることができます。
辞書データの処理
辞書形式のデータに含まれる数値をround関数で処理する例です。構造化されたデータの整理に活用できます。
出力結果
サル: 8.6kg
クマ: 45.2kg
キツネ: 6.8kgこの例では、辞書のキーと値をitemsメソッドで取り出し、辞書内包表記を使って処理しています。
キー(動物名)はそのままに、値(体重)だけをround(weight, 1)で丸めて、新しい辞書rounded_animalsを作成しています。構造化されたデータを扱う際によく使われる手法です。
関数内での四捨五入処理
round関数を含む独自関数を定義して、再利用可能な処理を作成する例です。コードの保守性と可読性が向上します。
出力結果
イルカの測定値: 2.35
アザラシの測定値: 45.7この例では、format_animal_dataという名前の関数を定義して、動物の名前と測定値を受け取り、指定された桁数で丸めて整形した文字列を返す処理をまとめています。
関数の定義でdigits=1とすることで、桁数(digits)が指定されなかった場合は自動的に1が使われるよう設定しています。result1ではformat_animal_data関数を呼び出す際に桁数として2を指定したため、小数点以下2桁で丸められ2.35となりました。result2では桁数を省略したため、デフォルト引数の1が使われ、45.67が45.7となります。
まとめ
Pythonのround関数は、数値を四捨五入する際に使う重要な関数です。この記事では、基本的な使い方から応用例まで解説しました。
round関数が活用できるような場面は次のようなケースです。
round関数が活躍する場面
- 通貨計算や利息計算で精度を調整したいとき
- 測定データや実験結果の有効桁数を管理したいとき
- Webアプリなどで数値を整形して表示したいとき
round関数を用いる上で、押さえておきたいポイントを覚えておきましょう。
重要なポイント
- 第二引数で小数点以下の桁数を指定できる
- 負の桁数を指定して整数部分を丸めることも可能
- 中間値(例:2.5)は最も近い偶数に丸められる点に注意
初めてPythonを学ぶ方も、この記事で紹介したround関数を実際に書いて、基本的な使い方を試してみてください。
数値を丸める処理は、実際の開発で想像以上によく使用されます。マスターしておけば役立つこと間違いなしです。
ぜひround関数をマスターして、より適切に数値を扱えるプログラムを作成できるようになりましょう。