Incorporated feedback from lodin/adambard/others

Changes:

- Added a few lines on using "is" to compare object identity.
- Removed example about lists containing arbitrary values.
- Removed example about assigning lambdas to variables.
- Removed example about dictionary comprehensions.
- Removed the additional explanation about 'self'
- Added a clarification on modules.
This commit is contained in:
Michael Lee 2013-07-01 06:21:03 -07:00
parent cc3dc30518
commit c747807558

View File

@ -98,6 +98,10 @@ None #=> None
"etc" is None #=> False
None is None #=> True
# The 'is' operator tests for object identity. This isn't
# 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
0 == False #=> True
@ -169,9 +173,6 @@ li.extend(other_li) # Now li is [1, 2, 3, 4, 5, 6]
# Examine the length with len
len(li) #=> 6
# Note: lists can contain arbitrary values
li2 = [1, "Hello", [[], "Hi", 5,]]
# Tuples are like lists but are immutable.
tup = (1, 2, 3)
tup[0] #=> 1
@ -375,8 +376,6 @@ add_10(3) #=> 13
# There are also anonymous functions
(lambda x: x > 2)(3) #=> True
rectangle_area = lambda a, b: a * b
print rectangle_area(3, 4) #=> 12
# There are built-in higher order functions
map(add_10, [1,2,3]) #=> [11, 12, 13]
@ -386,9 +385,6 @@ filter(lambda x: x > 5, [3, 4, 5, 6, 7]) #=> [6, 7]
[add_10(i) for i in [1, 2, 3]] #=> [11, 12, 13]
[x for x in [3, 4, 5, 6, 7] if x > 5] #=> [6, 7]
# You can also use dictionary comprehensions
{i: add_10(i) for i in [1, 2, 3]} #=> {1: 11, 2: 12, 3: 13}
####################################################
## 5. Classes
####################################################
@ -404,8 +400,7 @@ class Human(object):
# Assign the argument to the instance's name attribute
self.name = name
# An instance method. All methods take self as the first argument,
# which refers to the instance of this class
# An instance method. All methods take self as the first argument
def say(self, msg):
return "%s: %s" % (self.name, msg)
@ -462,7 +457,8 @@ import math as m
math.sqrt(16) == m.sqrt(16) #=> True
# Python modules are just ordinary python files. You
# can write your own, and import them.
# can write your own, and import them. The name of the
# module is the same as the name of the file.
```