diff options
| author | Adam Bard <github@adambard.com> | 2015-10-31 19:02:26 +0800 | 
|---|---|---|
| committer | Adam Bard <github@adambard.com> | 2015-10-31 19:02:26 +0800 | 
| commit | 15c9543ebc12b81758cade21d8532e07d27ebc8b (patch) | |
| tree | 8cfd5c3825666ef1a469c19f8c6abbcf60bff2d4 | |
| parent | 8303f2ed3995d18950be4e62b2ced2e3dcd35620 (diff) | |
| parent | 14c85ba0ffbb66d9c2a056006cedaa90df8f22f4 (diff) | |
Merge pull request #1898 from yihongang/python_truthiness
add more details on truthiness
| -rw-r--r-- | python.html.markdown | 14 | 
1 files changed, 11 insertions, 3 deletions
diff --git a/python.html.markdown b/python.html.markdown index 5bc8d28a..7d7e4baf 100644 --- a/python.html.markdown +++ b/python.html.markdown @@ -63,7 +63,7 @@ allow you to write Python 3 code that will run on Python 2, so check out the Pyt  # to carry out normal division with just one '/'.  from __future__ import division  11/4    # => 2.75  ...normal division -11//4   # => 2 ...floored division   +11//4   # => 2 ...floored division  # Modulo operation  7 % 3 # => 1 @@ -148,8 +148,16 @@ None is None  # => True  # very useful when dealing with primitive values, but is  # very useful when dealing with objects. -# None, 0, and empty strings/lists all evaluate to False. -# All other values are True +# Any object can be used in a Boolean context. +# The following values are considered falsey: +#    - None +#    - zero of any numeric type (e.g., 0, 0L, 0.0, 0j) +#    - empty sequences (e.g., '', (), []) +#    - empty containers (e.g., {}, set()) +#    - instances of user-defined classes meeting certain conditions +#      see: https://docs.python.org/2/reference/datamodel.html#object.__nonzero__ +# +# All other values are truthy (using the bool() function on them returns True).  bool(0)  # => False  bool("")  # => False  | 
