Trong một trong các nhận xét, bạn nói:
Bằng cách nào đó, tôi nhận được một giá trị Nonetype, nó phải là một int, nhưng bây giờ nó là một đối tượng Nonetype
Nếu đó là mã của bạn, hãy tìm ra cách bạn nhận được Nonekhi bạn mong đợi một con số và ngăn điều đó xảy ra.
Nếu đó là mã của người khác, hãy tìm hiểu các điều kiện mà nó đưa ra Nonevà xác định một giá trị hợp lý để sử dụng cho mã đó, với mã điều kiện thông thường:
result = could_return_none(x)
if result is None:
result = DEFAULT_VALUE
... hoặc thậm chí ...
if x == THING_THAT_RESULTS_IN_NONE:
result = DEFAULT_VALUE
else:
result = could_return_none(x) # But it won't return None, because we've restricted the domain.
Không có lý do gì để tự động sử dụng 0ở đây - các giải pháp phụ thuộc vào độ "sai" của Nonegiả định bạn sẽ muốn điều này. Các DEFAULT_VALUE(nếu nó thậm chí còn tồn tại) hoàn toàn phụ thuộc vào mục đích của mã của bạn.