Hướng dẫn how do you exit a function in python? - làm thế nào để bạn thoát khỏi một chức năng trong python?

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"?

Hướng dẫn how do you exit a function in python? - làm thế nào để bạn thoát khỏi một chức năng trong python?

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

Hướng dẫn how do you exit a function in python? - làm thế nào để bạn thoát khỏi một chức năng trong python?

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ăng

def 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

  1. 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ăng
  2. 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")
  1. Cédric Juliencédric Julien
import site
    
    def func():
        print("Hi")
        exit()
        print("Bye")
  1. 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.") 
  1. return
    
    4 hoặc
    return
    
    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ự

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

Hướng dẫn how do you exit a function in python? - làm thế nào để bạn thoát khỏi một chức năng trong python?