Các hàm Python không có câu lệnh trả về hoàn toàn trả về None
. Nếu bạn không trả về một giá trị từ một hàm một cách rõ ràng, thì hàm đó sẽ hoàn toàn trả về None
khi được gọi. None
là giá trị null của Python
Hàm trong ví dụ không có câu lệnh return
, vì vậy nó hoàn toàn trả về None
Đảm bảo rằng bạn không cố lưu trữ kết quả của việc gọi một hàm trả về None
trong một biến
Để trả về một giá trị từ một hàm, bạn phải sử dụng câu lệnh return
Chúng tôi đã sử dụng câu lệnh return
để trả về một chuỗi từ hàm
Bạn cũng có thể xem các ví dụ trực tuyến trả về một cách rõ ràng None
từ một hàm
Rõ ràng trả về None
là phổ biến nhất khi bạn muốn thoát khỏi một chức năng nếu một điều kiện nhất định được đáp ứng
Không có giá trị nào là giá trị None
0 của Python hay nói cách khác là thiếu giá trị
Các nguồn phổ biến nhất của giá trị None
là
- Có một chức năng không trả về bất cứ thứ gì [trả về
None
ngầm] - Đặt rõ ràng một biến thành
None
- Gán một biến cho kết quả gọi hàm tích hợp không trả về bất kỳ thứ gì
- Có một chức năng chỉ trả về một giá trị nếu một điều kiện nhất định được đáp ứng
Lưu ý rằng có nhiều chức năng tích hợp sẵn [e. g. None
4 và None
5] thay đổi đối tượng ban đầu tại chỗ và trả về None
Một quy ước phổ biến trong Python là dành cho các phương thức thay đổi một đối tượng [e. g. một danh sách] tại chỗ để trả lại None
Một nguồn phổ biến khác của các giá trị None
là có một hàm chỉ trả về một giá trị nếu một điều kiện được đáp ứng
Câu lệnh None
9 trong hàm None
0 chỉ được chạy nếu đối số được truyền vào có độ dài lớn hơn None
1
Trong tất cả các trường hợp khác, hàm không trả về bất cứ thứ gì và kết thúc hoàn toàn trả về None
Để 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, None
3 hoặc bất kỳ giá trị nào khác phù hợp với trường hợp sử dụng của bạn
Hàm thường in None
khi chúng ta chuyển kết quả của việc gọi một hàm không trả về bất kỳ thứ gì cho hàm print[]
. Tất cả các hàm không trả về giá trị một cách rõ ràng, trả về None
trong Python
Lưu ý rằng chúng ta đã gọi hàm print[]
hai lần
Khi chúng ta gọi hàm example[]
, hàm print[]
được gọi với hello world
, sau đó chúng ta in kết quả của việc gọi hàm example[]
Các chức năng không trả về bất cứ điều gì trả về Không có
Hàm example
không trả về bất cứ thứ gì, vì vậy nó hoàn toàn trả về None
, do đó, None
được in ra
Nế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 print[]
1 để trả về một giá trị từ hàm
Bây giờ, khi hàm example[]
được gọi, chúng ta in các chuỗi hello world
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ề None
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 print[]
khi gọi hàm example[]
Chẳng ích gì khi in ra kết quả của việc gọi một hàm không trả về bất cứ thứ gì vì chúng ta sẽ luôn in ra None
Các nguồn phổ biến nhất của giá trị None
trong Python
Các nguồn phổ biến nhất của giá trị None
là
- Có một chức năng không trả về bất cứ thứ gì [trả về
None
ngầm] - Đặt rõ ràng một biến thành
None
- Gán một biến cho kết quả gọi hàm tích hợp không trả về bất kỳ thứ gì
- Có một chức năng chỉ trả về một giá trị nếu một điều kiện nhất định được đáp ứng
Lưu ý rằng có nhiều chức năng tích hợp sẵn [e. g. None
4] làm thay đổi đối tượng ban đầu tại chỗ và trả về None
Một hàm chỉ trả về một giá trị nếu một điều kiện được đáp ứng
Một nguồn phổ biến khác của các giá trị None
là có một hàm chỉ trả về một giá trị nếu một điều kiện được đáp ứng
Câu lệnh None
7 trong hàm None
8 chỉ được chạy nếu đối số được truyền vào có độ dài lớn hơn None
9
Trong tất cả các trường hợp khác, hàm không trả về bất cứ thứ gì và kết thúc hoàn toàn trả về None
Để 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, print[]
1 hoặc bất kỳ giá trị nào khác phù hợp với trường hợp sử dụng của bạn