Python/変数と代入
< Python
変数とは
編集Pythonにおける変数は、値に名前(識別子)を付けて参照するための仕組みです。変数を定義するには、変数名を使って値を代入します:
my_variable = 42
この例では、my_variable
という変数に整数値42が代入されています。Pythonの特徴として、変数は値を柔軟に格納および変更できます。
Pythonは動的型付け言語です。つまり、変数自体には型がなく、変数が参照する値がその型を持ちます。これにより、同じ変数で異なる型の値を扱うことができます:
my_variable = 42 # 整数型 my_variable = "Hello" # 文字列型
変数を使用することで、データや計算結果を保持し、プログラム内で再利用できます。適切な変数名を選択することで、コードの可読性と保守性が向上します。
変数と参照
編集Pythonにおける変数の動作を理解するには、参照の概念が重要です:
- 変数の定義: 変数は値への参照を作成します:
x = 42 # 変数xは整数42への参照を保持
- 参照の共有: 変数への代入は参照のコピーを作成します:
y = x # yはxと同じ値を参照
- オブジェクトの参照: Pythonではすべてがオブジェクトであり、変数はオブジェクトへの参照を持ちます:
list_a = [1, 2, 3] list_b = list_a # list_bはlist_aと同じリストを参照
- ミュータブル性の影響: オブジェクトの変更可能性は参照の動作に影響します:
# 不変(イミュータブル)オブジェクト x = 42 y = x x = 43 # xは新しい値を参照、yは42のまま # 可変(ミュータブル)オブジェクト list_a = [1, 2] list_b = list_a list_a.append(3) # list_aとlist_b両方が[1, 2, 3]を参照
データ型
編集Python 3.12では、以下のような基本的なデータ型が提供されています:
# 数値型 x = 42 # int(整数) y = 3.14 # float(浮動小数点数) z = 3 + 4j # complex(複素数) # シーケンス型 text = "Hello" # str(文字列) nums = [1, 2, 3] # list(リスト) point = (x, y) # tuple(タプル) # マッピング型 data = {"name": "Alice", "age": 30} # dict(辞書) # セット型 unique = {1, 2, 3} # set(集合) # 真偽値 is_valid = True # bool(ブール値) # None型 empty = None # NoneType
識別子とキーワード
編集識別子の命名規則
編集Python 3.12における識別子の命名規則:
- 英字(a-z、A-Z)またはアンダースコア(_)で始まる
- 2文字目以降は英数字またはアンダースコア
- 大文字と小文字は区別される
- キーワードは使用できない
- Unicode文字も使用可能(Python 3.0以降)
キーワード
編集Python 3.12の予約済みキーワード一覧:
import keyword print(' '.join(keyword.kwlist))
- 実行結果:
False None True and as assert async await break class continue def del elif else except finally for from global if import in is lambda nonlocal not or pass raise return try while with yield
ソフトキーワード
編集Python 3.12では、以下がソフトキーワードとして定義されています:
case
match
_
これらは特定のコンテキストでのみキーワードとして機能し、それ以外では通常の識別子として使用できます。
ベストプラクティス
編集命名規則
編集- 説明的な名前を使用: 変数の目的や内容が明確に分かる名前を選択
- スネークケースを使用: 単語間はアンダースコアで区切る(例:
user_name
) - 短すぎず長すぎない: 適度な長さで理解しやすい名前を選択
- 予約語との衝突を避ける: Pythonのキーワードや組み込み関数名との重複を避ける
コーディング規約
編集- PEP 8に従った命名規則を採用
- 一貫性のある命名パターンを維持
- クラス名はキャメルケース(例:
UserProfile
) - 定数は大文字のスネークケース(例:
MAX_VALUE
)
参考文献
編集