Hãy giả sử một lần lặp trong đó chúng ta gọi một hàm 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 cư 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, nó sẽ làm phiền tôi, rằng chức năng trả về một None
. Có cách nào tốt hơn để "thoát một hàm, không có giá trị trả về, nếu kiểm tra không thành công trong phần thân của hàm"?
Robin
5982 Huy hiệu vàng7 Huy hiệu bạc23 Huy hiệu đồng2 gold badges7 silver badges23 bronze badges
Khi được hỏi ngày 31 tháng 5 năm 2011 lúc 16:42May 31, 2011 at 16:42
2
Bạn chỉ có thể sử dụng
return
mà chính xác giống như
return None
Chức năng của bạn cũng sẽ trả về None
nếu thực thi đạt đến phần cuối của cơ thể chức năng mà không nhấn câu lệnh
return
1. Trở về không có gì giống như trở lại None
trong Python.Đã trả lời ngày 31 tháng 5 năm 2011 lúc 16:44May 31, 2011 at 16:44
Sven Marnachsven MarnachSven Marnach
549K114 Huy hiệu vàng920 Huy hiệu bạc822 Huy hiệu Đồng114 gold badges920 silver badges822 bronze badges
4
Tôi sẽ đề nghị:
def foo[element]:
do something
if not check: return
do more [because check was succesful]
do much much more...
Đã trả lời ngày 31 tháng 5 năm 2011 lúc 16:45May 31, 2011 at 16:45
HyperboreushyperboreusHyperboreus
31.5K9 Huy hiệu vàng45 Huy hiệu bạc85 Huy hiệu Đồng9 gold badges45 silver badges85 bronze badges
Bạn có thể sử dụng câu lệnh
return
1 mà không có bất kỳ tham số nào để thoát chức năngdef foo[element]:
do something
if check is true:
do more [because check was succesful]
else:
return
do much much more...
hoặc nêu ra một ngoại lệ nếu bạn muốn được thông báo về vấn đề
def foo[element]:
do something
if check is true:
do more [because check was succesful]
else:
raise Exception["cause of the problem"]
do much much more...
Đã trả lời ngày 31 tháng 5 năm 2011 lúc 16:45May 31, 2011 at 16:45
HyperboreushyperboreusCédric Julien
31.5K9 Huy hiệu vàng45 Huy hiệu bạc85 Huy hiệu Đồng15 gold badges121 silver badges129 bronze badges
- Bạn có thể sử dụng câu lệnh
1 mà không có bất kỳ tham số nào để thoát chức năngreturn
- hoặc nêu ra một ngoại lệ nếu bạn muốn được thông báo về vấn đề
import site
def func[]:
print["Hi"]
quit[]
print["Bye"]
- Cédric Juliencédric Julien
import site
def func[]:
print["Hi"]
exit[]
print["Bye"]
- 76.7K15 Huy hiệu vàng121 Huy hiệu bạc129 Huy hiệu đồng
import sys
height = 150
if height < 165: # in cm
# exits the program
sys.exit["Height less than 165"]
else:
print["You ride the rollercoaster."]
4 hoặcreturn
1 có thể được sử dụng để thoát khỏi chức năng hoặc chương trình, cả hai đều làm điều tương tựreturn
Hàm
return
6 có thể được sử dụng, mặc dù việc sử dụng chức năng này không được khuyến khích để tạo các ứng dụng trong thế giới thực và chỉ nên được sử dụng trong phiên dịch viên.Dec 12, 2020 at 8:17