中級 › Noneに対してメソッドを呼び出した原因と直し方 › パターン5
Noneに対してメソッドを呼び出した原因と直し方
Noneに対してメソッドを呼び出したときに出るエラーです。
1 def get_grade(score): 2 if score >= 60: 3 return "pass" 4 5 grade = get_grade(__) ^ 6 print(grade.upper())
Traceback (most recent call last):
File "main.py", line 6, in <module>
print(grade.upper())
^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'upper'
空欄を埋めて実行を通す
if文の条件に当てはまらない場合、関数は暗黙にNoneを返します。すべての分岐でreturnを書いていないと起きやすいバグです。
次の問題