April 2014
Beginner to intermediate
634 pages
15h 22m
English
Python has a pleasant definition of falsity. The reference manual lists a large number of values that will test as equivalent to False. This includes things such as False, 0, '', (), [], and {}. Most other objects will test as equivalent to True.
Often, we'll want to check for an object being "not empty" with a simple statement as follows:
if some_object:
process( some_object )Under the hood, this is the job of the bool() built-in function. This function depends on the __bool__() method of a given object.
The default __bool__() method returns True. We can see this with the following code:
>>> x = object() >>> bool(x) True
For most classes, this is perfectly valid. Most objects are not expected to be False. For collections, however, ...