【Python】スラッシュ2つ(//)の意味を簡単に解説

【Python】スラッシュ2つ(//)の意味を簡単に解説

公開: 更新:



Pythonのスラッシュ2つ(//)による整数除算の使い方

Pythonでスラッシュ2つ(//)を使用すると、整数除算(フロア除算)を行うことができます。一般的な除算演算子(/)とは異なり、スラッシュ2つを使った除算では結果の小数点以下が切り捨てられます。スラッシュ1つ(/)による除算では結果が常に浮動小数点数となりますが、スラッシュ2つ(//)による除算では商の整数部分のみを取得します。

【サンプルコード】
a = 5 / 2
b = 5 // 2
print(f"5 / 2 = {a}")
print(f"5 // 2 = {b}")
【実行結果】
5 / 2 = 2.5
5 // 2 = 2
詳細説明
1行目 通常の除算演算子(/)を使用して5÷2を計算し、結果を変数aに代入
2行目 整数除算演算子(//)を使用して5÷2を計算し、結果を変数bに代入
3行目 f文字列を使用してスラッシュ1つの計算結果を表示
4行目 f文字列を使用してスラッシュ2つの計算結果を表示

【PR】『Python』を学べる企業・個人向けのプログラミングコース

スラッシュ2つと他の除算演算子の違い

Pythonでは除算に関連する演算子として、スラッシュ1つ(/)、スラッシュ2つ(//)、そして剰余演算子(%)の3種類があります。スラッシュ1つは実数除算、スラッシュ2つは整数除算、剰余演算子は余りを求めるために使用します。整数除算と剰余演算を組み合わせることで、ある数を別の数で割った際の商と余りを取得できます。また、divmod()関数を使うと、商と余りを一度の操作で取得できます。

【サンプルコード】
int_result = 10 // 3
float_result = 10.5 // 3.0
quotient, remainder = divmod(10, 3)
print(f"10 // 3 = {int_result}")
print(f"10.5 // 3.0 = {float_result}")
print(f"divmod(10, 3) = ({quotient}, {remainder})")
【実行結果】
10 // 3 = 3
10.5 // 3.0 = 3.0
divmod(10, 3) = (3, 1)
詳細説明
1行目 整数同士の整数除算を行い、結果をint_resultに代入
2行目 浮動小数点数を含む整数除算を行い、結果をfloat_resultに代入
3行目 divmod関数を使用して商と余りを同時に取得し、それぞれの変数に代入
4行目 整数同士の整数除算結果を表示
5行目 浮動小数点数を含む整数除算結果を表示
6行目 divmod関数で取得した商と余りを表示

Pythonでスラッシュ2つを使用したプログラミング例

スラッシュ2つ(//)による整数除算は、配列やリストのインデックス計算、ページネーション処理、時間計算などでよく使用されます。例えば、総アイテム数とページあたりのアイテム数から必要なページ数を計算したり、秒単位の時間を時分秒に変換したりする場合に活用できます。また、整数除算は二進数操作やビットシフト操作と組み合わせることで、効率的なアルゴリズムの実装にも役立ちます。

【サンプルコード】
total_items = 95
items_per_page = 10
pages_needed = total_items // items_per_page
if total_items % items_per_page > 0:
    pages_needed += 1
total_seconds = 3665
hours = total_seconds // 3600
minutes = (total_seconds % 3600) // 60
seconds = total_seconds % 60
print(f"必要なページ数: {pages_needed}")
print(f"{total_seconds}秒 = {hours}時間{minutes}分{seconds}秒")
【実行結果】
必要なページ数: 10
3665秒 = 1時間1分5秒
詳細説明
1行目 総アイテム数を変数total_itemsに代入
2行目 ページあたりのアイテム数を変数items_per_pageに代入
3行目 整数除算を使用して基本ページ数を計算
4行目 余りがある場合の条件判定
5行目 余りがある場合はページ数を1増やす
6行目 秒数を変数total_secondsに代入
7行目 整数除算を使用して時間を計算
8行目 剰余演算で時間を除いた秒数から整数除算で分を計算
9行目 剰余演算で残りの秒数を計算
10行目 計算したページ数を表示
11行目 計算した時分秒を表示

【PR】『Python』を学べる個人・中高生向けのプログラミングコース

Pythonでスラッシュ2つを使用する時の注意点

Pythonでスラッシュ2つ(//)を使用する際には、いくつかの注意点があります。0による除算を行うとZeroDivisionErrorが発生するため、例外処理や事前の条件チェックが必要です。また、負の数を含む整数除算では、通常の数学的な割り算と挙動が異なります。Pythonの整数除算は常に小さい方向に切り捨てを行うため、-5 // 2の結果は-3となります。浮動小数点数を含む計算では、精度の問題も考慮する必要があることを理解しておきましょう。

【サンプルコード】
print(-5 // 2)
try:
result = 10 // 0
except ZeroDivisionError:
print("0での除算はできません")
a = 0.1 + 0.2
print(f"0.1 + 0.2 = {a}")
print(f"0.1 + 0.2 == 0.3: {a == 0.3}")
【実行結果】
-3
0での除算はできません
0.1 + 0.2 = 0.30000000000000004
0.1 + 0.2 == 0.3: False
詳細説明
1行目 負の数の整数除算結果を表示
3行目 try文で例外処理を開始
4行目 0による除算を実行しようとする処理
5行目 ZeroDivisionError例外が発生した場合の処理
6行目 例外発生時のメッセージを表示
8行目 浮動小数点数の計算を行い結果を変数aに代入
9行目 浮動小数点数の計算結果を表示
10行目 浮動小数点数の等値比較結果を表示

※上記コンテンツの内容やソースコードはAIで確認・デバッグしておりますが、間違いやエラー、脆弱性などがある場合は、コメントよりご報告いただけますと幸いです。

ITやプログラミングに関するコラム


ITやプログラミングに関するニュース

ブログに戻る

コメントを残す

コメントは公開前に承認される必要があることにご注意ください。

コードキャンプDX人材育成研修 - IT・プログラミングを知って学べるコネクトメディア 金融業界の業務効率化を加速するニッセイアセットマネジメントの生成AI×GAS活用研修事例 - IT・プログラミングを知って学べるコネクトメディア 【製造業のDX人材育成事例】デジタル人材の即戦力化を実現する、日本ガイシ株式会社の異動者向オンボーディング研修 - ITやプログラミングを知って学べるコネクトメディア フューチャーアーキテクト株式会社が実現した新入社員向けIT研修プログラムでタスクフォース制度が主体的な学びと成長を生み出す - IT・プログラミングを知って学べるコネクトメディア コードキャンプDX人材育成研修 - IT・プログラミングを知って学べるコネクトメディア コードキャンプIT・プログラミング研修事例/【IT新入社員研修】オンラインとオフラインの最適バランスを実現したFutureOneの導入事例 - IT・プログラミングを知って学べるコネクトメディア コードキャンプIT・プログラミング研修事例/【新入社員研修】柔軟なハイブリッド型Java研修で実現した新卒20名の成長と成果|サークレイス株式会社 - ITやプログラミングを知って学べるコネクトメディア コードキャンプIT・プログラミング研修事例/現場により近いところにデジタルを根付かせるDX基礎講座研修|株式会社ブリヂストン - ITやプログラミングを知って学べるコネクトメディア コードキャンプIT・プログラミング研修事例/業務の効率化・DX推進に向けたIT人材育成への第一歩|株式会社カナエ - ITやプログラミングを知って学べるコネクトメディア 企業・法人向けのIT・プログラミング研修 - ITやプログラミングを知って学べるコネクトメディア

新着記事

対象者別で探す

子供(小学生・中学生・高校生)向け
プログラミング教室検索する

子供(小学生・中学生・高校生)がロボットやプログラミング言語を学ぶことができるオフラインからオンラインスクールを検索、比較することが可能です。

子供(小学生・中学生・高校生)
プログラミング教室検索する

ITやプログラムなどの
最新情報を検索する

日々、新しいITやプログラミング言語の情報が流れていきますが、特定の情報を時系列でニュースやコラムを確認することができます。

ITやプログラムなどの
最新情報を検索する