Các phương thức mutator và giá trị None Python

Các phương thức mutator và giá trị None Python

Các hàm và phương thức thẩm định trong các học phần trước trả về một giá trị cái nơi gọi sau đó sử dụng để hoàn
thành công việc của nó. Các objects biến đổi (như các lists) có một vài phương thức dành hoàn toàn cho điều chỉnh
trạng thái bên trong của object. Các phương thức như vậy được gọi là các mutators. Các ví dụ là phương thức list
insert, append, extend, pop và sort. Vì một thay đổi của trạng thái là tất cả được mong muốn, một phương mutator
thường trả về không giá trị có ích về nơi gọi (nhưng chú ý rằng pop là một ngoại lệ đối với nguyên tắc này). Tuy
nhiên Python tự động trả về giá trị đặc biệt None thậm chí khi một phương thức không công khai trả về một giá
trị. Chúng ta đề cập cái này bây giờ chỉ khi một cảnh báo trên dạng lỗi sau. Giả sử bạn quên rằng sort biến đổi
một list, và thay vào bạn lầm lẫn nghĩ rằng nó xây dựng và trả về một list xắp sếp mới và để lại list gốc chưa sắp
xếp. Thì bạn có thể viết code như sau để giành cái bạn nghĩ là kết quả mong muốn:

>>> aList = aList.sort()

Không may mắn là, sau khi list object được xắp sếp, phép gán này có kết quả thiết lập biến aList thành giá trị None.
Phát biểu print tiếp theo thể hiện rằng tham chiếu đến list object bị mất:

>>> print(aList)
None

Sau này trong các học phần, bạn sẽ học làm cách nào làm thứ gì đó hữu dụng từ None.

Chia sẻ