Pythonの残りのキーワード9つについて、それぞれの役割と具体的な使い方を整理しました。
これらはプログラムの制御フロー、デバッグ、リソース管理など、Pythonを使いこなす上で欠かせない要素ばかりです。
1. global
関数の中から、関数の外(グローバルスコープ)で定義された変数を書き換えたいときに使います。
使い方:
global 変数名と宣言します。注意点: 多用するとコードの可読性が下がるため、基本的には戻り値(return)を使うのが推奨されます。
count = 0
def increment():
global count
count += 1
increment()
print(count) # 結果: 1
2. assert
「この時点では必ずこうなっているはずだ」という条件をチェックするために使います。主にデバッグ用です。
使い方:
assert 条件, "エラーメッセージ"機能: 条件が
Falseの場合、AssertionErrorを発生させます。
def apply_discount(price, discount):
final_price = price - discount
assert final_price >= 0, "価格がマイナスになっています"
return final_price
print(apply_discount(100, 20)) # 正常
# print(apply_discount(100, 150)) # AssertionError
3. is
2つのオブジェクトが**「同一(メモリ上の同じ場所にあるか)」**を判定します。
==との違い:==は値が同じかを判定しますが、isは実体が同じかを判定します。主な用途:
Noneかどうかのチェックによく使われます(if x is None:)。
a = [1, 2, 3]
b = [1, 2, 3]
c = a
print(a == b) # True (値が同じ)
print(a is b) # False (別のリストオブジェクト)
print(a is c) # True (全く同じものを指している)
4. not
論理値を反転させます(真なら偽、偽なら真)。
使い方:
if not 条件:のように、否定のロジックを作るときに使います。
is_logged_in = False
if not is_logged_in:
print("ログインしてください")
5. pass
「何もしない」ことを示すキーワードです。
使い所: 文法上、何か書かなければいけないけれど、処理は後で書きたい(中身を空にしておきたい)場合に使います。
def future_function():
pass # 後で実装する予定
class MyEmptyClass:
pass
6. raise
意図的にエラー(例外)を発生させます。
使い方:
raise エラーの種類("メッセージ")機能: 不適切なデータが渡されたときなどに、プログラムを停止させて警告します。
def check_age(age):
if age < 0:
raise ValueError("年齢にマイナスは指定できません")
return age
7. while
条件が True である間、処理を繰り返します。
使い方:
while 条件:機能: 繰り返しの回数が決まっていない場合に便利です。
count = 0
while count < 3:
print(f"カウント: {count}")
count += 1
8. with
ファイルの読み書きなど、**「開始と終了の処理が必要なもの」**を安全に管理します。
利点:
withブロックを抜けると自動的にファイルを閉じてくれるので、クローズ忘れを防げます。
with open("test.txt", "w") as f:
f.write("Hello Python")
# ここで自動的にファイルが閉じられる
9. yield
ジェネレータ関数を作成するときに使います。
機能: 関数の実行を一時停止し、値を返します。次に呼ばれたときは、その停止した箇所から再開します。
利点: 大量のデータを一度にメモリに乗せず、一つずつ処理できるため効率的です。
def number_generator():
yield 1
yield 2
yield 3
for num in number_generator():
print(num)
0 件のコメント:
コメントを投稿