Pythonの変数宣言の方法とは?型ヒント(type hints)の使い方
生徒
「Pythonで変数ってどうやって作るんですか?『宣言』っていう言葉もよく聞きます。」
先生
「Pythonの変数宣言はとてもシンプルなんですよ。それに、型ヒント(type hints)を使うことで、どんな種類のデータを扱っているかも明確になります。」
生徒
「型ヒントってなんだか難しそうですね……」
先生
「大丈夫。今回はPythonの変数の使い方と型ヒントの基本を、初心者でもわかるようにやさしく解説していきます!」
1. Pythonの変数とは?宣言と代入の基本
Pythonでは、変数(へんすう)はデータに名前をつけて保存する箱のようなものです。変数の宣言(作成)はとても簡単で、次のように書くだけです。
name = "たろう"
age = 20
height = 175.5
「=」の左側が変数名、右側がその中に入れる値(データ)です。このようにPythonでは値を代入することで変数が作られます。
2. 変数に使える名前のルール
変数名にはいくつかルールがあります。
- 英数字とアンダースコア(
_)のみ使える - 数字で始めてはいけない
- Pythonの予約語(
if、forなど)は使えない
読みやすさのために、user_nameのようにアンダースコアで区切るのが一般的です。
3. Pythonは動的型付け言語
Pythonは動的型付けという特徴を持っています。これは、変数の型(データの種類)を宣言しなくても自動で判別してくれるということです。
number = 10
message = "こんにちは"
numberには整数(int)、messageには文字列(str)が入っていますが、Pythonが自動で判断してくれます。
4. 型ヒント(type hints)とは?
型ヒントとは、「この変数はどんな型のデータを扱うのか」を明示するための仕組みです。Python3.5以降で使えます。
基本の書き方は、変数名: 型 = 値 です。
name: str = "たろう"
age: int = 20
height: float = 175.5
型ヒントはプログラムの動作には影響しませんが、コードの見やすさや予期しないミスを減らすのに役立ちます。
5. よく使う基本の型ヒント一覧
Pythonでよく使う型ヒントは次のとおりです。
int:整数(例:1, -3)float:小数(例:3.14)str:文字列(例:"こんにちは")bool:真偽値(TrueかFalse)list:リスト(例:[1, 2, 3])dict:辞書(例:{"名前": "たろう"})
Python3.9以降では、list[int]やdict[str, int]のように中身の型まで書けます。
6. 関数でも使える型ヒント
型ヒントは関数にも使えます。引数や戻り値の型を示すことで、関数の使い方が分かりやすくなります。
def greet(name: str) -> str:
return "こんにちは、" + name + "さん!"
name: strは引数の型、-> strは戻り値の型を表しています。
7. ListやDictを使う型ヒント
リストや辞書など複雑な型にヒントをつけたい場合、Python3.9以前ではtypingモジュールが必要です。
from typing import List, Dict
numbers: List[int] = [1, 2, 3]
profile: Dict[str, str] = {"名前": "たろう", "趣味": "ゲーム"}
Python3.9以降なら、次のように書けます:
numbers: list[int] = [1, 2, 3]
profile: dict[str, str] = {"名前": "たろう", "趣味": "ゲーム"}
8. Optional型とNoneの使い方
「値があるかもしれないし、ないかもしれない」場合には、Optional型を使います。これは、None(値が存在しないこと)を許容するという意味です。
from typing import Optional
nickname: Optional[str] = None
また、関数が値を返さない場合は、戻り値の型をNoneにします。
def say_hello(name: str) -> None:
print("こんにちは、" + name + "さん!")
まとめ
Pythonにおける変数の宣言方法と、型ヒント(type hints)の使い方について学んできました。Pythonの変数宣言はとてもシンプルで、代入するだけで変数が作られます。この手軽さがPythonの魅力のひとつですが、同時に動的型付けという特徴によって、予期しない型の値が代入されるリスクもあります。そこで登場するのが型ヒント(type hints)です。
型ヒントを使えば、変数や関数のデータ型を明示でき、可読性や保守性が向上します。特に複数人で開発する場合や、大規模なプログラムになると、どんな型が使われているかを明示することでバグの予防や効率的なデバッグに役立ちます。
また、Python3.9以降では、リストや辞書の中のデータ型も明示できるようになり、より直感的でわかりやすくなっています。さらに、Optional型を使えば、値があるかもしれないし、ないかもしれないという場面に対応できるため、実践的な型の表現も可能です。
関数における型ヒントの活用も見逃せません。引数や戻り値に型を指定することで、関数の使い方が明確になり、補完機能を持つエディタとの相性も良くなります。初心者のうちから型ヒントの書き方に慣れておくことで、将来的にも読みやすく安全なコードを書く力が身につきます。
以下は、学んだ内容を整理したPythonのサンプルコードです。
from typing import List, Dict, Optional
# 基本の型ヒント
name: str = "たろう"
age: int = 20
height: float = 175.5
is_student: bool = True
# 関数に型ヒント
def greet(name: str) -> str:
return f"こんにちは、{name}さん!"
# リストや辞書
scores: List[int] = [85, 90, 78]
profile: Dict[str, str] = {"名前": "たろう", "趣味": "ゲーム"}
# Optional型
nickname: Optional[str] = None
# 戻り値がない関数
def say_hello(name: str) -> None:
print(greet(name))
生徒
「Pythonの変数ってこんなに簡単に作れるんですね。でも型ヒントっていうのは少し難しかったかも……」
先生
「最初はそう感じるかもしれませんが、型ヒントを使うことでコードの意味がはっきりして、バグも減らせるんですよ。プログラムを書くうえでの安心材料になります。」
生徒
「たしかに、関数に型がついてると読みやすかったです。list[int]とかdict[str, str]も意味がよくわかるようになってきました!」
先生
「そうそう。今後の学習でも型ヒントはどんどん登場するので、今回の内容をしっかり理解しておくと役に立ちますよ。Optional型も便利なのでぜひ活用していきましょう。」
生徒
「はい!なんとなく難しそうって思ってたけど、使いどころや意味がわかると、ちゃんと役に立つものなんですね!」