第3章 気楽な入門編(40問中6問)
Python3基礎試験の数と算術演算子:/・//・%・**の実行結果
第3章の数は、17 // 3 のような式の結果を読み取る問題が中心です。このページでは、割り算の / と // と %、冪乗の **、整数と小数が混ざったときの型、未定義の変数のエラーを、Python 3.9.6で実際に実行した結果で確かめます。覚えるのは3つです。/ は常にfloat、// は切り捨て、% は余りです。
このページは試験の学習用の整理です。公式の問題は転載せず、コードはすべて説明用に作った例です。
この記事の目次
公式情報の確認
試験日、料金、申込条件、試験方式など変動する情報は、公式情報を最終確認してください。 当サイトの一次情報確認日: 2026-09-18。
試験の出題範囲・実施要項は変動するため、受験前に公式情報を確認してください。
結論
- 除算 / は常に浮動小数点数を返す。切り捨て除算は //、剰余は % で、17 // 3 は5、17 % 3 は2
- 冪乗は ** で、5 ** 2 は25、2 ** 7 は128。丸括弧でまとめた式が先に計算される
- 整数は int、小数部を持つ数は float。int と float が混ざる演算は float になる
- 値を代入していない変数を使うと NameError。対話モードの _ は直前に表示された値で、読み取り専用として扱う
/・//・% の違い
公式チュートリアルによると、除算(/)は常に浮動小数点数を返します。切り捨て除算で整数の結果を得るには // 演算子を使い、剰余は % で求められます。
| コード | 実行結果 | ひとこと |
|---|---|---|
8 / 5 | 1.6 | 除算は常に浮動小数点数を返す |
17 / 3 | 5.666666666666667 | 割り切れなくても小数のまま |
17 // 3 | 5 | 切り捨て除算は小数部を切り捨てる |
17 % 3 | 2 | % は剰余 |
5 * 3 + 2 | 17 | 商 × 除数 + 剰余 で元の17に戻る |
切り捨て除算 // で出た商と % で出た余りは、商 × 除数 + 余り で元の数に戻ります。17 // 3 が5、17 % 3 が2なので、5 * 3 + 2 は17です。選択肢を迷ったら、この式で検算できます。
冪乗 ** と丸括弧
公式チュートリアルによると、冪乗は ** 演算子で計算できます。丸括弧(())で式をまとめることもできます。
| 式 | 実行結果 | ひとこと |
|---|---|---|
5 ** 2 | 25 | 5の2乗 |
2 ** 7 | 128 | 2の7乗 |
50 - 5 * 6 | 20 | 掛け算が先。50 − 30 |
(50 - 5 * 6) / 4 | 5.0 | 丸括弧が先。20 ÷ 4 で float の 5.0 |
^ ではなく ** が冪乗です。50 - 5 * 6 は掛け算を先に計算して20になり、丸括弧で包んだ (50 - 5 * 6) / 4 は5.0になります。結果が 5 ではなく 5.0 なのは、/ が float を返すからです。
intとfloatの型
公式チュートリアルによると、整数(2、4、20など)は int 型、小数部を持つ数(5.0、1.6など)は float 型です。整数と浮動小数点数が混在する演算では、演算子が整数のオペランドを浮動小数点数に変換します。
| 式 | 実行結果 | ひとこと |
|---|---|---|
type(2 + 2) | <class 'int'> | 整数どうしの足し算は int |
type(8 / 5) | <class 'float'> | 除算は int どうしでも float |
type(17 // 3) | <class 'int'> | 切り捨て除算の結果は整数 |
4 * 3.75 - 1 | 14.0 | 整数が float に変換され、結果は float |
type(3+5j) | <class 'complex'> | j を付けると複素数 |
結果が int になるのは、足し算・引き算・掛け算・// が整数どうしのときです。どちらかが float なら float、/ なら整数どうしでも float です。公式チュートリアルは、int と float のほかに Decimal や Fraction などの数値型もサポートし、複素数は組み込みで、接尾辞 j または J で虚部を表す(例:3+5j)と説明しています。
変数と未定義のエラー
等号(=)は変数に値を代入するときに使います。公式チュートリアルの例では、width = 20、height = 5 * 9 と代入したあとの width * height は900です。値を代入していない変数を使おうとするとエラーになります。未定義の n を評価すると、Python 3.9.6では NameError: name 'n' is not defined が出ました。
直前の値を使う _
公式チュートリアルによると、対話モードでは最後に表示された式の値が変数 _ に代入されます。電卓として続きの計算をするときに便利です。次の表は、公式チュートリアルの例を、_ を実際の式に置き換えて確かめた結果です。
| コード | 実行結果 | ひとこと |
|---|---|---|
tax = 12.5 / 100
price = 100.50
price * tax | 12.5625 | ここで表示された値が _ に入る |
price + _ | 113.0625 | _ は直前の 12.5625 |
round(_, 2) | 113.06 | _ は直前の 113.0625 |
_ は読み取り専用として扱い、明示的に値を代入しません。公式チュートリアルは、代入すると同じ名前の別のローカル変数が作られ、特別な動作をする組み込み変数が隠されてしまうと説明しています。
Python3エンジニア認定基礎試験の学習に使う書籍(Amazon)
試験範囲を通して読むときの1冊です。読んだ章は、このサイトの章別問題で確かめられます。
よくある質問
17 // 3 と 17 % 3 は、いくつになりますか?
17 // 3 は5、17 % 3 は2です。公式チュートリアルによると、// は小数部を切り捨てる切り捨て除算で、% は剰余を返します。5 * 3 + 2 が元の17に戻ることで確かめられます。
8 / 4 の結果は、整数の2ですか?
公式チュートリアルによると、除算(/)は常に浮動小数点数を返します。割り切れるときも結果は2.0のfloatです。整数の結果が欲しいときは // を使います。
整数と小数を混ぜて計算すると、結果の型は何ですか?
公式チュートリアルによると、整数と浮動小数点数が混在する演算では、演算子が整数のオペランドを浮動小数点数に変換します。4 * 3.75 - 1 は14.0のfloatです。
第3章の気楽な入門編は、何問出ますか?
このサイトが整理した公式の章別出題数では、40問中6問(15.0%)です。数と算術演算子のほか、文字列とリストの基本操作が含まれます。
