freeCodeCamp/guide/english/python/boolean-operations/index.md

48 lines
1.7 KiB
Markdown
Raw Normal View History

2018-10-12 19:37:13 +00:00
---
title: Python Boolean Operations
---
2018-10-27 04:31:38 +00:00
<a href='https://docs.python.org/3/reference/expressions.html#or' target='_blank' rel='nofollow'>`or`</a>, <a href='https://docs.python.org/3/reference/expressions.html#and' target='_blank' rel='nofollow'>`and`</a>, <a href='https://docs.python.org/3/reference/expressions.html#not' target='_blank' rel='nofollow'>`not`</a>
2018-10-12 19:37:13 +00:00
<a href='https://docs.python.org/3/library/stdtypes.html#boolean-operations-and-or-not' target='_blank' rel='nofollow'>Python Docs - Boolean Operations</a>
These are the Boolean operations, ordered by ascending priority:
Operation | Result | Notes
--------- | ------------------------------------ | -----
x or y | if x is false, then y, else x | (1)
x and y | if x is false, then x, else y | (2)
not x | if x is false, then True, else False | (3)
**Notes:**
1. This is a short-circuit operator, so it only evaluates the second argument if the first one is False.
2. This is a short-circuit operator, so it only evaluates the second argument if the first one is True.
2018-11-01 03:17:57 +00:00
3. `not` has a lower priority than non-Boolean operators, so `not a == b` is interpreted as `not (a == b)`, and `a == not b` is a syntax error.
2018-10-12 19:37:13 +00:00
## Examples:
2018-10-27 04:31:38 +00:00
### `or`:
2018-10-12 19:37:13 +00:00
2018-10-27 04:31:38 +00:00
>>> True or False # Short-circuited at first argument.
True
>>> False or True # Second argument is evaluated.
2018-10-12 19:37:13 +00:00
True
2018-10-27 04:31:38 +00:00
>>> False or False # Second argument is evaluated.
False
2018-10-12 19:37:13 +00:00
### `and`:
>>> True and False # Short-circuited at first argument.
False
>>> False and True # Second argument is evaluated.
False
>>> True and True # Second argument is evaluated.
True
2018-10-27 04:31:38 +00:00
### `not`:
2018-10-12 19:37:13 +00:00
2018-10-27 04:31:38 +00:00
>>> not True
False
>>> not False
2018-10-12 19:37:13 +00:00
True