Using Python's and Operator With Common Objects
00:00
In this lesson, you’ll learn that and can be used with more general objects than Boolean expressions and see how that evaluation is performed.
00:09
and can be used with Python objects because all objects in Python have a truth value. Most objects are True, but there are some exceptions.
00:18
Thee None object and False, of course, are False. Any numeric type with a value of zero is False, and empty collections like lists, strings, and so on are also considered False. Also, if a class has certain dunder methods, like say .__len__() or .__bool__, then what they return, like a length of zero, would determine if that object were False. So Python objects can be connected with the word and since they all have some truthiness to them.
00:51
When and is performed on objects, the value returned is one of those objects. The result isn’t going to be True or False.
01:01
This makes Python’s implementation a little different than other languages that let you perform and with things other than just Boolean expressions.
01:10
If the first operand is False, then that object will be the result of the operation. Remember how I phrased something in an earlier lesson? If the first operaand is False, that’s what’s returned—that meaning the first operand.
01:26
If the first operand is True, then the second operand object is the result of the operation. As you heard me say earlier, I carefully phrased these results in this manner before so that it would match up with a more general case you’re learning now. So in your program, if you have two objects, x and y, and you’re taking the and of them, the result will be x if x is False and y if x is True.
01:53
And again, this is basically a generalization of what you’ve learned before. Let’s take a look at some examples. 2 and 3. This makes perfect sense in Python.
02:07
And since 2 is considered true, the result of the operation should be the second operand, 3. Another one with numbers: 5 and 0.0.
02:19
Since 5 is also true, the second operand, 0.0, will be the result.
02:26
In this case, the first operand is an empty list. That evaluates to False, so that operand, the empty list, should be the result. And it is.
02:39
Here, 0 is considered false, so that will be the result. And one more case. False is, of course, false, so that will be the result.
02:55
Next, you’ll learn how to mix Boolean expressions and objects using and.
Become a Member to join the conversation.
