diff options
author | yihong <yihong@exmaple.com> | 2015-10-30 05:04:41 +0800 |
---|---|---|
committer | yihong <yihong@exmaple.com> | 2015-10-30 05:04:41 +0800 |
commit | 14c85ba0ffbb66d9c2a056006cedaa90df8f22f4 (patch) | |
tree | d57e42217f74a7727b434bbe9ac91e7c778661d5 | |
parent | e65899cafb9edbd4fbf5c37a3f6462b999bd08cb (diff) |
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 42a52bcf..7055689e 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 @@ -144,8 +144,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 |