変数は、プログラム内でデータを保存するために使用される名前付きの記憶場所です。変数を使うことで、データを一時的に保持し、後で再利用することができます。変数には名前があり、特定の型のデータを格納します。
演算子は、変数や値に対して計算や操作を行うための記号やキーワードです。
変数の宣言
Pythonでは、変数の宣言は他の多くのプログラミング言語よりも簡単です。変数を使用する前に宣言する必要はなく、値を代入するだけで自動的に型が決まります。
# 数値型
x = 10
y = 3.14
# 文字列型
name = "Alice"
# ブール型
is_valid = True
# リスト型
numbers = [1, 2, 3, 4, 5]
# 辞書型
person = {"name": "Alice", "age": 25}
# タプル型
coordinates = (10.0, 20.0)
# セット型
unique_numbers = {1, 2, 3, 4, 5}
演算子
算術演算子
これらの演算子は、基本的な数学的計算を行います。
a = 10
b = 5
print(a + b) # 足し算 -> 15
print(a - b) # 引き算 -> 5
print(a * b) # 掛け算 -> 50
print(a / b) # 割り算 -> 2.0
print(a % b) # 剰余 -> 0
print(a ** b) # 累乗 -> 100000
print(a // b) # 整数除算 -> 2
比較演算子
これらの演算子は、二つの値を比較して真(True)または偽(False)を返します。
a = 10
b = 5
print(a == b) # 等しいか -> False
print(a != b) # 等しくないか -> True
print(a > b) # より大きいか -> True
print(a < b) # より小さいか -> False
print(a >= b) # 以上か -> True
print(a <= b) # 以下か -> False
論理演算子
これらの演算子は、論理演算を行います。
a = True
b = False
print(a and b) # AND -> False
print(a or b) # OR -> True
print(not a) # NOT -> False
代入演算子
これらの演算子は、変数に値を代入します。
a = 10
a += 5 # a = a + 5 -> 15
a -= 3 # a = a - 3 -> 12
a *= 2 # a = a * 2 -> 24
a /= 4 # a = a / 4 -> 6.0
a %= 4 # a = a % 4 -> 2.0
a **= 3 # a = a ** 3 -> 8.0
a //= 2 # a = a // 2 -> 4.0
ビット演算子
これらの演算子は、ビット単位での演算を行います。
a = 60 # 0011 1100
b = 13 # 0000 1101
print(a & b) # AND -> 0000 1100 -> 12
print(a | b) # OR -> 0011 1101 -> 61
print(a ^ b) # XOR -> 0011 0001 -> 49
print(~a) # NOT -> 1100 0011 -> -61
print(a << 2) # 左シフト -> 1111 0000 -> 240
print(a >> 2) # 右シフト -> 0000 1111 -> 15
メンバーシップ演算子
これらの演算子は、要素がシーケンス(リスト、タプル、文字列など)に存在するかを確認します。
x = ["apple", "banana", "cherry"]
print("banana" in x) # メンバーか -> True
print("grape" not in x) # メンバーでないか -> True
アイデンティティ演算子
これらの演算子は、二つの変数が同じオブジェクトを参照しているかどうかを確認します。
a = 10
b = 10
print(a is b) # 同一オブジェクトか -> True
print(a is not b) # 同一オブジェクトでないか -> False
x = [1, 2, 3]
y = [1, 2, 3]
print(x is y) # 同一オブジェクトか -> False
print(x == y) # 等しいか -> True
変数のスコープ
変数にはスコープ(有効範囲)があります。スコープには、ローカルスコープ、グローバルスコープ、組み込みスコープがあります。
ローカル変数
関数内で定義された変数はローカル変数です。
def my_function():
x = 10 # ローカル変数
print(x)
my_function()
# print(x) -> エラー: xはローカルスコープ外
グローバル変数
関数の外で定義された変数はグローバル変数です。
x = 10 # グローバル変数
def my_function():
print(x) # グローバル変数にアクセス
my_function()
print(x) # グローバル変数にアクセス
グローバル変数を関数内で変更する場合は、global
キーワードを使用します。
x = 10
def my_function():
global x
x = 20
my_function()
print(x) # 20
nonlocal変数
関数内のネストされた関数(内部関数)から外部関数の変数を参照または変更する場合は、nonlocal
キーワードを使用します。
def outer_function():
x = 10
def inner_function():
nonlocal x
x = 20
inner_function()
print(x) # 20
outer_function()