Như chúng ta đã biết, Python có giá trị boolean cho đối tượng: Nếu một lớp có phương thức __len__
, mỗi trường hợp của nó __len__()
xảy ra để trả về 0 sẽ được đánh giá là boolean False
(ví dụ: danh sách trống).Giá trị Boolean của các đối tượng trong Python
Thực tế, mỗi đối tượng tùy chỉnh trống, có thể lặp lại được đánh giá là False
nếu nó xuất hiện trong biểu thức boolean.
Bây giờ giả sử tôi có một lớp học foo
với thuộc tính bar
. Làm thế nào tôi có thể xác định giá trị chân lý của nó, để nói rằng, nó sẽ được đánh giá là True if bar % 2 == 0
và False
nếu không?
Ví dụ:
myfoo = foo()
myfoo.bar = 3
def a(myfoo):
if foo:
print "spam"
else:
print "eggs"
vậy, a(myfoo)
nên in "eggs"
.
Xem thêm: '__nonzero __()' –