Join us and get access to thousands of tutorials and a community of expert Pythonistas.

Unlock This Lesson

This lesson is for members only. Join us and get access to thousands of tutorials and a community of expert Pythonistas.

Unlock This Lesson

Hint: You can adjust the default video playback speed in your account settings.
Hint: You can set your subtitle preferences in your account settings.
Sorry! Looks like there’s an issue with video playback 🙁 This might be due to a temporary outage or because of a configuration issue with your browser. Please refer to our video player troubleshooting guide for assistance.

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.