Giả sử một phép lặp trong đó chúng ta gọi một hàm không có giá trị trả về. Cách tôi nghĩ rằng chương trình của tôi nên hành xử được giải thích trong mã giả này:
for element in some_list:
foo(element)
def foo(element):
do something
if check is true:
do more (because check was succesful)
else:
return None
do much much more...
Nếu tôi thực hiện điều này trong python, điều đó làm phiền tôi, rằng hàm trả về a None
. Có cách nào tốt hơn để "thoát khỏi hàm, không có giá trị trả về, nếu kiểm tra không thành công trong thân hàm"?
6
Python luôn trả về Không nếu bạn không trả lại một cách rõ ràng. Nhưng bạn có thể bỏ đi Không có.
—
Keith
Tùy thuộc vào kiểm tra là gì, bạn cũng có thể là
—
Rosh Oxymoron
raise
một ngoại lệ (hoặc, rất hiếm khi, làm cho hàm trả về Đúng / Sai)