В некоторых других языках, которые я знаю, интуитивный результат преобразования null в строку должен быть пустой строкой. Почему Python предназначен для того, чтобы "None" был своего рода специальной строкой? И это может привести к дополнительной работе при проверке возвращаемого значения из функции
result = foo() # foo will return None if failure
if result is not None and len(str(result)) > 0:
# ... deal with result
pass
если str (None) возвращает пустую строку, код может быть короче:
if len(str(result)) > 0:
# ... deal with result
pass
Похоже, Python пытается быть многословным, чтобы сделать файлы журналов более понятными?