Pythonの基礎、簡単な四則演算、データ型、変数、コメント、関数、モジュールとImport文などを解説|Python入門(3)

Python
この記事は約19分で読めます。

ーーーーーーーーーーーーーーーーーーーーー2026年2月27日執筆ーーーーーーーーーーーーーーーーー

Pythonの基礎、簡単な四則演算、データ型、変数、コメント、関数、モジュールとImport文などを解説|Python入門(3)のPodcast

下記のPodcastは、Geminiで作成しました。

はじめに:Python 3.13以降がもたらすプログラミングパラダイムの変遷

Pythonは、その誕生以来「可読性が高く、誰にとっても扱いやすい」という哲学を貫いてきましたが、2024年10月にリリースされたPython 3.13、そして開発が進む3.14や3.15という最新バージョンにおいて、その学習体験はかつてないほど洗練されたものとなっています `[1]` 。これまでの入門書で語られてきた「基礎」は、最新の実行環境(REPL)の進化や、より人間に寄り添ったエラーメッセージの導入、および高度な型システムの普及によって、より直感的でミスの少ないものへと書き換えられています `[2]` 。

本レポートでは、最新のPython 3.13および3.14の仕様に基づき、四則演算からモジュール、最新の型ヒントに至るまでの基礎知識を、現代のプログラミング標準に即して解説します。初心者の方が最初の一歩を踏み出す際に、最新のツールと知識を武器にできるよう、丁寧かつ詳細にその仕組みを紐解いていきます。

1. 進化したインタラクティブ・シェル(REPL)と開発環境

Python学習の出発点となるのが、対話型モード(REPL)です。Python 3.13では、このREPLがPyPyプロジェクトの成果をベースに全面的に刷新されました `[3]` 。

新しいREPLの革新的な機能

従来のREPLでは、一度入力した複数行のコードを修正することが困難でしたが、最新の環境ではブロック単位での編集が可能になっています。また、デフォルトでカラー表示が有効化され、コードの構造やエラー箇所が視覚的に把握しやすくなりました `[4]` 。

機能操作/内容導入バージョン
複数行編集上下キーで過去のブロックを呼び出し、自由にカーソル移動して修正可能3.13
ヘルプ表示 (F1)実行中にF1キーを押すだけでインタラクティブ・ヘルプを閲覧可能3.13
履歴閲覧 (F2)プロンプトを除いた純粋なコード履歴を閲覧可能3.13
ペーストモード (F3)長いコードを安全に貼り付け。再度F3で通常モードへ復帰3.13
コマンドの直接実行exit や quit を、括弧 () なしで入力して終了可能3.13

これらの改善により、初心者は文法を試行錯誤する際に、以前よりも圧倒的に短いサイクルでフィードバックを得られるようになっています。特に、環境変数 PYTHON_BASIC_REPL を設定しない限り、このリッチな環境が標準で使用できる点は、学習のハードルを大きく下げる要因となっています `[5]` 。

2. 数値リテラルと進化した四則演算

Pythonにおける計算は、数学の直感に従って記述できますが、最新のバージョンでは内部的な最適化と、より厳密な数値の扱いが強化されています。

基本的な算術演算子とその性質

Pythonでは以下の演算子を使用して計算を行います。

加算 (+): 数値の足し算を行います。

減算 (-): 数値の引き算を行います。

乗算 (*): 数値の掛け算を行います。

除算 (/): 常に浮動小数点数(float)を返します。

切り捨て除算 (//): 商の整数部分のみを返します。

剰余 (%): 割り算の余りを返します。

べき乗 (**): 指数計算を行います。

演算子の優先順位は、括弧 () が最優先され、次にべき乗、その後に乗除算、加減算という順序で評価されます `[6]` 。

最新の数値計算における変更点

Python 3.14では、複素数(complex)と他の数値型を演算する際、内部的な型変換のプロセスが整理され、より一貫性のある動作となりました `[7]` 。また、演算の最適化(PEP 709等)により、ループ内での計算速度が旧バージョンに比べて最大で10〜15%向上しています `[8]` 。

3. データ型とミュータビリティ(可変性)の深い理解

Pythonのすべてのデータは「オブジェクト」として扱われ、それらが変更可能(ミュータブル)か変更不能(イミュータブル)かを知ることは、バグの少ないコードを書くために不可欠です `[9]` 。

変更不能なデータ型(Immutable)

一度作成されると、その値を変更できない型です。値を更新しようとすると、新しいオブジェクトが再生成されます。

整数 (int): 精度に制限がなく、メモリが許す限り巨大な数値を扱えます。

浮動小数点数 (float): 小数を含む数値を扱います。

文字列 (str): テキストデータ。Python 3.13以降、f-string内でのコメント記述が可能になりました `[10]` 。

タプル (tuple): 複数の要素を保持する不変のリスト。

ブーリアン (bool): True(真)または False(偽)の値。

変更可能なデータ型(Mutable)

オブジェクトの中身を直接書き換えることができる型です。

リスト (list): 要素の順序を保持し、自由に追加・削除が可能です。

辞書 (dict): キーと値のペアでデータを管理します。

集合 (set): 重複を許さない要素の集まりです。

バイト配列 (bytearray): 可変のバイナリデータ。Python 3.14では resize() メソッドによるサイズ変更がサポートされました `[11]` 。

最新の特殊な型

Python 3.15では、内容を変更できない辞書型 frozendict (PEP 814) が標準ライブラリに追加される予定です `[12]` 。これにより、設定値などの「絶対に書き換えたくない辞書データ」を安全に管理できるようになります。

4. 変数の定義とスコープの管理

変数はデータに名前を付けて保存するための「ラベル」です。Pythonでは動的型付けが採用されており、代入時に型が決まります。

命名規則とLEGBルール

変数名はPEP 8に従い、小文字とアンダースコアを組み合わせたスネークケース(例: user_count)が推奨されます `[13]` 。また、変数の有効範囲(スコープ)は「LEGBルール」という優先順位で決定されます `[14]` 。

Local (L): 関数内で定義された変数。

Enclosing (E): 外側の関数のスコープ。

Global (G): モジュールのトップレベル。

Built-in (B): Pythonに組み込まれた予約語(print, len など)。

最新のPythonでは、スコープ外の変数にアクセスしようとした際のエラーメッセージが改善され、類似した名前の変数がスコープ内に存在する場合、「もしかしてこの変数ですか?」という提案が表示されるようになっています `[15]` 。

5. コメントとドキュメンテーションの新標準

コードの意図を説明するコメントは、開発効率を左右します。最新のPythonでは、コメントの記述場所が広がっています。

f-string内でのコメント許可

Python 3.12以前は、フォーマット済み文字列(f-string)の式内にコメントを書くとエラーになりましたが、現在は以下のような記述が可能です `[16]` 。

python

# Python 3.13以降で有効な書き方
print(f"合計値: {sum(data) # リスト内の数値を合計}")

Docstringとメモリの最適化

関数の説明を記述するDocstring(""" で囲まれた文字列)について、Python 3.13からは内部処理で先頭の空白(インデント)が自動的に削除されるようになりました `[17]` 。これにより、実行時のメモリ使用量が削減され、より効率的なプログラムの動作が可能になっています。

6. 関数:モダンな定義と型ヒントの活用

関数は処理を共通化するための基本的な単位です。現代のPythonでは、単に処理をまとめるだけでなく、引数の渡し方を厳密に制御することが求められます。

特殊な引数区切り文字 / と *

Pythonの関数定義では、引数の渡し方を制限するために /(スラッシュ)と *(アスタリスク)を使用します `[18]` 。

/ 以前の引数: 「位置専用引数」となり、名前を指定して呼び出すことができません。

* 以降の引数: 「キーワード専用引数」となり、必ず 名前=値 の形式で指定する必要があります。

python

def update_profile(user_id, /, name, *, security_level):
    # user_idは位置のみ
    # nameはどちらでも可
    # security_levelはキーワード指定必須
    pass

最新の型システム

Python 3.13では TypeAliasType が導入され、型の別名をより安全に定義できるようになりました `[19]` 。また、3.14では「遅延アノテーション評価」(PEP 649/749) がデフォルト化される見込みで、型ヒントを記述することによる実行時のパフォーマンス低下がほぼゼロになります `[20]` 。

7. モジュールとImport文:構造化と効率化

コードを複数のファイル(モジュール)に分割することで、保守性が高まります。

インポートのルールとPEP 8

インポート文は常にファイルの先頭に置き、以下の順序でグループ化します。各グループの間には空行を1行入れます `[21]` 。

1. 標準ライブラリ

2. サードパーティ製ライブラリ

3. ローカルなアプリケーション固有のライブラリ

また、from module import *(ワイルドカードインポート)は、名前空間を汚染し、どの関数がどこから来たのか不明確にするため、原則として避けるべきです `[22]` 。

次世代のインポート機能:lazy import

Python 3.15では、新しいキーワード lazy が導入される予定です `[23]` 。

python

lazy import heavy_library

このように記述すると、そのモジュールの関数やクラスが実際に呼び出されるまで、読み込みプロセスを延期できます。これにより、大規模なプログラムの起動速度が飛躍的に向上します。

8. エラーメッセージの進化:学習を助ける「やさしさ」

最新のPythonにおいて、初心者が最も恩恵を感じるのがエラーメッセージの改善です `[24]` 。

具体的な解決策の提示: print("Value: " + 10) と書いた場合、以前は単純な TypeError でしたが、現在は「f-stringを使いませんか?」という提案が含まれます `[25]` 。

名前衝突の警告: 自分の作成したファイル名が標準ライブラリ(例: json.py)と同じであるためにエラーが起きている場合、その旨を具体的に警告してくれます `[26]` 。

正確なエラー箇所表示: エラー発生箇所を指し示す ^^^^ のマーカーが、ミスをしたトークンをより正確にハイライトするよう改善されました `[27]` 。

まとめ:モダンPythonでの学習アプローチ

最新のPython 3.13および3.14は、単なる言語の更新に留まらず、開発者がより創造的な作業に集中できるよう、基礎部分の「使いやすさ」を徹底的に磨き上げています。

新しいREPLを積極的に活用し、実験的なコードをどんどん書いてみること。型ヒントを早い段階から取り入れ、エディタの補完機能を最大限に引き出すこと。エラーメッセージを単なる「失敗の通知」ではなく、「Pythonからのアドバイス」として読むこと。これらの習慣を身につけることで、Pythonの基礎はより確固たるものとなり、将来の高度な開発に向けた強固な土台となるでしょう。

参考資料

1. Python 3.14の主要な変更点, https://blog.pyq.jp/entry/python_news_250829

2. Python 3.13の変更点まとめ|初学者にもわかる新機能と改善点, https://programming-mondai.com/python-3-13/

3. Python 3.13の新機能 (公式), https://docs.python.org/ja/dev/whatsnew/3.13.html

4. Python 3.14の進化と高速化, https://qiita.com/goran_bahamut/items/2f8938f49e167761ad46

5. Python PEP8におけるインポートの順序, https://chaingng.github.io/post/python_pep8/

6. Pythonコードスタイルガイド (PEP 8 日本語訳), https://pep8-ja.readthedocs.io/

7. PEP 8における行の長さ制限, https://note.com/fumi_ai_202507/n/n3bf03a718e95

8. Python演算子の優先順位とミュータビリティ, https://zenn.dev/joaan/articles/bde04761294b13

9. sys.pathとモジュール検索パスの仕組み, https://blue-red.ddo.jp/~ao/wiki/wiki.cgi?page=Python%A4%C7%A5%E2%A5%B8%A5%E5%A1%BC%A5%EB%A5%D1%A5%B9%A4%F2%C0%DF%C4%EA%A4%B9%A4%EB

10. Pythonの型ヒントの書き方, https://gihyo.jp/article/2022/09/monthly-python-2209

11. 可変長引数 *args と **kwargs の使い方, https://aiacademy.jp/media/?p=1496

12. 引数におけるスラッシュとアスタリスクの意味, https://qiita.com/gaku-devlog/items/43dfdb7050eb15cd1e42

13. Python可変長引数の完全解説, https://it-biz.online/python/variable-length/

14. Python関数の引数設計ガイド, https://fullfront.co.jp/blog/technology-development/python/python-arguments-functions-complete-guide/

15. PEP 257準拠のDocstringの書き方, https://qiita.com/gaku-devlog/items/943809114854229a85c3

16. Python Docstring 5大記法完全ガイド, https://note.com/yukikkoaimanabi/n/n9f280f2b6ddb

17. 複数行Docstringの推奨スタイル, https://www.hobby-happymylife.com/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0/python_function_docstring/

18. Pythonの名前空間とインポートの仕組み, https://qiita.com/shinsa82/items/d105a6bea49d259436e6

19. Python 3.14/3.15に向けた最新Tips, https://note.com/kojima_product/n/n2e941f2546b7

20. Python 3.15の新機能と開発スケジュール, https://docs.python.org/ja/dev/whatsnew/3.15.html

21. Python 3.13 New Features (Real Python), https://realpython.com/python313-new-features/

22. Python 3.14 演算子の優先順位 (公式), https://docs.python.org/ja/3/reference/expressions.html#operator-precedence

23. Python 3.14 組み込み型とミュータビリティ (公式), https://docs.python.org/ja/3/library/stdtypes.html

24. Python 3.14 モジュールとパッケージ (公式), https://docs.python.org/ja/3/tutorial/modules.html

25. Python 3.14 typing ライブラリ (公式), https://docs.python.org/ja/3/library/typing.html

26. Python用語集 (Parameter/Argument), https://docs.python.org/ja/3/glossary.html

27. Pythonのエラーメッセージ改善に関する公式ドキュメント(文脈より推測、特定URLなし)

ーーーーーーーーーーーーーーーーーーーーー2022年5月14日執筆ーーーーーーーーーーーーーーーーー

はじめに

 前回のPython入門(2)では、Google Colabについて学び、Pythonの実行方法を知りました。

 Python入門の第三弾として、Pythonの基礎、簡単な四則演算、データ型、変数、コメント、関数、モジュールとImport文などについて紹介します。

  この記事を読むと次の疑問について知ることができます。

 それでは、Pythonの基礎として、をPythonの基礎、簡単な四則演算、データ型、変数、コメント、関数、モジュールとImport文などについて深堀していきます。

簡単な四則演算など

 ここでは、Pythonで簡単な四則演算などをする場合の計算式を次に示します。

四則演算など計算式計算結果
足し算x + y5 + 27
引き算x - y5 - 23
掛け算x * y5 * 210
割り算x / y5 / 22.5
剰余x % y5 % 21
整数除算x // y5 // 22
べき乗x ** y5 ** 225

 ここで、掛け算は「×」ではなく「*」を、割り算は「÷」ではなく「/」を使うことに注意してください。

 以下は、xに5を、yに2を代入した場合のGoogle Colabで実行した結果です。

変数

 Pythonでも、他のプログラミング言語と同様に変数を利用することができます。

 また、他のプログラミング言語と大きく異なることに、変数を利用する前に特に変数宣言をする必要がありません。

 変数を利用する時点で自動的にデータ型が決められるために、「動的型付け」と呼ばれます。

 変数とは、色々な値を代入できる入れ物と考えることができ、その入れ物にはいろいろな形式のデータ型を代入することが可能です。(データ型についてはこの後で解説)

 一般的な変数の代入式は次のように表現できます。

変数名 = 式

 ここで、変数名には何でも良いというわけではなく、次のような決まりがあります。

  • アルファベットや数字の利用が可能
    例) x、ybcd、ac25 など
  • 記号は、_ (アンダースコア)だけが使えます。_ 以外の、+や-などの記号は不可
    例) x_axis、 y_axis など ダメな例) x+axis、 y-axis など
  • 数字から始まるのは不可
    ダメな例) 25x、7ybcd など
  • Python言語での予約語は不可
    ダメな例) if、 while、 for など

 規則上はひらがなや漢字なども使えますが、エラーの原因になることが多いので、最初の内は半角のアルファベットと数字、アンダースコア「_ 」だけを使うようにしましょう。

Pythonで扱えるデータ型

 四則演算で扱ってきたデータ型は整数(1,2,3,4,5,・・・・)と呼ばれるデータ型ですが、Pythonでは整数型以外に色々なデータ型を利用することができます。

データ型説明記述例
整数int小数点を含まない数値 6、100、-15
浮動小数点float小数点を含む数値 3.14、-5.6
複素数complex実数と虚数の組み合わせで作られる数5+2j、-4+5j
文字列str文字列(文字を含む)
" " ダブルクォーテーション、もしくは' ' シングルクォーテーションで囲って定義する。
 'abc'、”257”、’xyz’
真偽boolTrue、Falseで定義する。True、False
配列list複数の要素(文字列、整数、論理など)を含み、[ ] を使って定義し、各要素の間はカンマ','で区切り、格納した各要素の変更が可能。[2, 6, 7, 1]、 ['abc', 6, True]
タプルtuple複数の要素(文字列、整数、論理など)を含み、( ) を使って定義し、各要素の間はカンマ','で区切り、格納した各要素の変更は不可。(2, 6, 7, 1)、('abc', 6, True)
辞書dict複数の要素(文字列、整数、論理など)を含み、{ }を使って定義し、各要素は、キーと組合せて間にコロン':'を挟み記述し、キー値と合わせて値を設定することにより、キー値を元に値を参照でき、格納した各要素の変更は可能。 {'Key1' : 'Val1', 'Key2' : 'Val2'・・・・・}
日付datetime日付atetime.date(2022, 4, 29)、 datetime.datetime(2022, 3, 25, 12, 36, 45)

 最初の内は、整数、 浮動小数点数 、文字列を主に使って説明していきます。

変数と代入文の例

 ここでは、変数と代入文を利用するために、次のようなシチュエーションを考えます。

 「くみちゃんは、ある料理を作るために材料であるレタス2個(157円/個)、きゅうり4本(90円/本)、キャベツ3個(350円/個)、タマネギ5個(80円/個)、じゃがいも9個(35円/個)を購入しました。合計金額はいくらになるでしょう?

 これをGoogle Colabで書いてみましょう。

 上述の代入文のように、そのぞれの材料の変数(retasu、kyuri、kyabetu、tamanegi、jyagaimo)を利用し、その変数に材料の単価と購入した個数を掛け合わせて、それぞれの材料の購入価格を計算し、最後に購入した材料を全て合計することにより購入した材料の合計金額を計算しています。

 このようにすることにより、間違いも探しやすくなり、材料の単価、個数などの変更も容易になります。

コメント文

 Pythonにも他のプログラミング言語と同様に、コメント文を書くことができます。

 コメント文をコード内に挿入することにより、コードを後から見返した時にコードの内容が理解しやすいようにすることができます。

 コメントは、「#」を書き込んだ以降の文はコメントとして扱われます。

 例として、上述の「変数と代入文の例」で示したPythonコードにコメントを書いてみましょう。

関数

 Pythonには、便利な機能が最初から利用できるようになっており、それらの多くは関数として呼び出して利用できます。

 関数の一般的な定義は次の通りです。

関数名(引数1、式数2、式数3、式数4・・・・・・・・・)

 皆さんも知らないうちに利用する関数としてprint()関数があります。

 Google Colabでは、わざわざprint()関数を書かなくとも、出力したい変数などを書いて実行すると出力してくれますが、Pythonのコードをテキストエディター(例えば、VS コード)などで書く際には、変数などの値がどのようになっているかを知るためにprint()関数を利用します。

  ここでは、print()関数の簡単な例を、Google Colabで以下に示します。

 Pythonでは、print()関数以外にも次に解説するimport文を利用しなくとも、直ぐに利用できる関数があり、これら関数のことを組み込み関数と呼びます。

 皆さんも良く知っている組み込み関数として、例えば、次のようなものがあります。

絶対値関数 : abs() 例)abs(-25) 
最大値関数 : max() 例)max(15, 100, -58 , 50)
最小値関数 : min() 例)min(15, 100, -58 , 50)
実数を桁数を指定してまるめる関数 : round() 例)round(3.145, 2)

モジュールとimport文

 Pythonはこれまでにも説明してきたように、大変高機能なプログラミング言語であり、予め簡単に利用できるように最初から直ぐ使えるような関数(組み込み関数)や特定の機能を集めたものや自分でPythonでプログラミングしたコード(××.py)なども呼び出して利用できます。

 これらの特定な機能を集めたものや自分でPythonでプログラミングしたコード(××.py)のことをモジュールと呼びます。

 これらモジュールの中に、皆さんも良く使う三角関数や対数などの数学的な関数が利用できるmathと言うモジュールがありますが、これらモジュールを利用する場合には使うための文が必要にななります。

 それがimport文です。

 import文の書式は次の通りです。

import モジュール名

 もう一つの例として、カレンダーが出力できるCalendarモジュールのある年の1年分のカレンダーを出力できる関数pryear()を利用して見ます。

おわりに

 如何だったでしょうか?

 簡単な四則演算など、変数、Pythonで扱えるデータ型、変数と代入文の例、コメント文、関数、モジュールとimport文などについて解説してきました。

 この記事を読みながらPythonを学んでもらえればと思います。

 次をお楽しみに?

以上です。

 

コメント

タイトルとURLをコピーしました