summaryrefslogtreecommitdiffhomepage
path: root/python.html.markdown
diff options
context:
space:
mode:
authorAdam Bard <github@adambard.com>2015-10-31 19:02:26 +0800
committerAdam Bard <github@adambard.com>2015-10-31 19:02:26 +0800
commit15c9543ebc12b81758cade21d8532e07d27ebc8b (patch)
tree8cfd5c3825666ef1a469c19f8c6abbcf60bff2d4 /python.html.markdown
parent8303f2ed3995d18950be4e62b2ced2e3dcd35620 (diff)
parent14c85ba0ffbb66d9c2a056006cedaa90df8f22f4 (diff)
Merge pull request #1898 from yihongang/python_truthiness
add more details on truthiness
Diffstat (limited to 'python.html.markdown')
-rw-r--r--python.html.markdown14
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