Hàm Python trả về Không thay vì giá trị
Các hàm thường in Show Lưu ý rằng chúng tôi đã gọi hàm Khi chúng ta gọi hàm def return_multiple_values(): return 1, 2, 3 print(return_multiple_values()) print(type(return_multiple_values()))1, sau đó chúng ta in kết quả của việc gọi hàm example() Bởi vì hàm def return_multiple_values(): return 1, 2, 3 print(return_multiple_values()) print(type(return_multiple_values()))3 không trả về bất cứ thứ gì, nên cuối cùng nó hoàn toàn trả về None , do đó, None được in raNếu chúng ta trả về một giá trị từ hàm, giá trị đó sẽ được in ra Chúng tôi đã sử dụng câu lệnh Bây giờ, khi hàm def return_multiple_values(): return 1, 2, 3 print(return_multiple_values()) print(type(return_multiple_values()))1 và print() 4, thay vì None Lưu ý rằng tất cả các hàm không trả về giá trị một cách rõ ràng, sẽ hoàn toàn trả về Nếu bạn không muốn trả lại bất cứ thứ gì từ hàm, hãy xóa lệnh gọi Chẳng ích gì khi in kết quả của việc gọi một hàm không trả về bất kỳ thứ gì vì chúng ta sẽ luôn in ra Các nguồn phổ biến nhất của giá trị
Lưu ý rằng có nhiều chức năng tích hợp sẵn (e. g. Một nguồn phổ biến khác của các giá trị Câu lệnh Trong tất cả các trường hợp khác, hàm không trả về bất kỳ thứ gì và kết thúc hoàn toàn trả về Để giải quyết vấn đề này, chúng ta có thể trả về một giá trị mặc định nếu điều kiện không được đáp ứng, e. g. một chuỗi rỗng, một danh sách trống, Trả lại Không rõ ràng Sử dụng câu lệnh return trong Python một cách hiệu quả Đánh dấu là đã hoàn thành Vật liệu hỗ trợCác slide khóa học hướng dẫn được đề xuất (. pdf) Mã mẫu (. nén)
Trở thành Thành viên để tham gia cuộc trò chuyện Không giống như các ngôn ngữ lập trình khác, hàm python không bị hạn chế trả về một loại giá trị duy nhất. Nếu bạn nhìn vào định nghĩa hàm, nó không có bất kỳ thông tin nào về những gì nó có thể trả về Hãy xem một ví dụ trong đó hàm sẽ trả về nhiều loại giá trị def get_demo_data(object_type): if 'str' == object_type: return 'test' elif 'tuple' == object_type: return (1, 2, 3) elif 'list' == object_type: return [1, 2, 3] elif 'dict' == object_type: return {"1": 1, "2": 2, "3": 3} else: return None Trả về nhiều giá trị trong một câu lệnh returnChúng ta có thể trả về nhiều giá trị từ một câu lệnh return. Các giá trị này được phân tách bằng dấu phẩy và được trả về dưới dạng một bộ cho chương trình người gọi def return_multiple_values(): return 1, 2, 3 print(return_multiple_values()) print(type(return_multiple_values())) đầu ra (1, 2, 3) Câu lệnh trả về Python với khối cuối cùngKhi câu lệnh return được thực thi bên trong khối try-ngoại trừ, mã khối cuối cùng được thực thi trước khi trả lại giá trị cho người gọi def hello(): try: return 'hello try' finally: print('finally block') def hello_new(): try: raise TypeError except TypeError as te: return 'hello except' finally: print('finally block') print(hello()) print(hello_new()) đầu ra finally block hello try finally block hello except Nếu khối cuối cùng có câu lệnh trả về, thì câu lệnh trả về trước đó sẽ bị bỏ qua và giá trị từ khối cuối cùng được trả về Tại sao hàm Python của tôi không trả về gì?Hàm Python không có câu lệnh trả về
. Nếu hàm không có bất kỳ câu lệnh trả về nào, thì hàm sẽ trả về Không có .
Điều gì xảy ra khi hàm không trả về giá trị?Nếu không có câu lệnh trả về nào xuất hiện trong định nghĩa hàm, thì điều khiển sẽ tự động quay lại hàm gọi sau khi câu lệnh cuối cùng của hàm được gọi được thực thi . Trong trường hợp này, giá trị trả về của hàm được gọi là không xác định.
Hàm có thể không trả về gì không?Các hàm trống được tạo và sử dụng giống như các hàm trả về giá trị ngoại trừ việc chúng không trả về giá trị sau khi thực thi hàm . Thay cho kiểu dữ liệu, hàm void sử dụng từ khóa "void. " Hàm void thực hiện một tác vụ và sau đó điều khiển trả về trình gọi--nhưng, nó không trả về giá trị.
Giá trị trả về không có trong Python là gì?Trong Python, mọi hàm đều trả về một thứ gì đó. Nếu không có câu lệnh trả về nào , thì nó sẽ trả về Không có. Nếu câu lệnh trả về chứa một biểu thức, nó sẽ được đánh giá trước và sau đó giá trị được trả về. Câu lệnh return kết thúc việc thực thi hàm. |