問題一覧に戻る
中級関数
問題44: 引数の型チェック
isinstance()関数を使うと、変数の型を実行時にチェックできます。これは動的型付け言語のPythonで、関数の引数が期待する型かどうかを確認する際に重要です。適切な型チェックとエラーハンドリングを組み合わせることで、より堅牢な関数を作成できます。
# 型チェックを行う除算関数
def safe_divide(a, b):
# 引数の型をチェック
if not (a, (int, float)) or not isinstance(b, (int, float)):
return "Error: Both arguments must be numbers"
# ゼロ除算をチェック
if b == :
return "Error: Cannot divide by zero"
return a / b
# テスト実行
print(safe_divide(10, 2))
print(safe_divide(10, 0))
print(safe_divide("10", 2))