파이썬 - TypeError: coercing to Unicode: need string or buffer, NoneType found
동일한 상황인데, 때로는 이렇게 다소 난해(?)한 오류가 발생하기도 하고,
TypeError: coercing to Unicode: need string or buffer, NoneType found
간단하게는 다음과 같은 직관적인 오류를 만나게 됩니다.
TypeError: can only concatenate str (not "NoneType") to str
오류가 발생하는 코드는 대충 다음과 같은 식인데요,
result = None
# ...[생략]...
return HttpResponse(" " + result)
그러니까, 원인은 "result" 변수의 값이 None이기 때문에 문자열과 '+' 연산을 할 수 없다는 것입니다. 그나저나, 파이썬이 언뜻 편한 듯하면서도 은근 까탈스럽게 구는 면이 있습니다. ^^ C# 같은 경우에는 다음의 코드가 오류 없이 그냥 null을 빈 문자열 취급해 버리는데요,
string test = null;
Console.WriteLine(" " + test); // 실행 정상
이뿐만이 아닙니다. C# 경력자라면 무심코 실행할 다음의 코드도,
N = 50
print(" " + N)
/* 런타임 오류 발생
Traceback (most recent call last):
File "", line 1, in
TypeError: can only concatenate str (not "int") to str
*/
오류 처리돼 심심치 않게 귀찮음을 겪게 됩니다. ^^
[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]