c1d9bbc345
__bool__() and __len__() are just the same as __neg__() or __invert__(), and require efficient dispatching implementation (not requiring search/lookup). type->unary_op() is just the right choice for this short of adding standalone virtual method(s) to already big mp_obj_type_t structure.
37 lines
494 B
Python
37 lines
494 B
Python
# Test true-ish value handling
|
|
|
|
if not False:
|
|
print("False")
|
|
|
|
if not None:
|
|
print("None")
|
|
|
|
if not 0:
|
|
print("0")
|
|
|
|
if not 0.0:
|
|
print("float 0")
|
|
|
|
if not 0+0j:
|
|
print("complex 0")
|
|
|
|
if not "":
|
|
print("Empty string")
|
|
if "foo":
|
|
print("Non-empty string")
|
|
|
|
if not ():
|
|
print("Empty tuple")
|
|
if ("",):
|
|
print("Non-empty tuple")
|
|
|
|
if not []:
|
|
print("Empty list")
|
|
if [0]:
|
|
print("Non-empty list")
|
|
|
|
if not {}:
|
|
print("Empty dict")
|
|
if {0:0}:
|
|
print("Non-empty dict")
|