Done with Chinese, mostly

This commit is contained in:
Geoff Liu 2014-11-05 13:05:47 -07:00
parent 191a0c7050
commit cd4c3a4ad8

View File

@ -123,8 +123,7 @@ False or True #=> True
# None是一个对象
None # => None
# Don't use the equality "==" symbol to compare objects to None
# Use "is" instead. This checks for equality of object identity.
# 当与None进行比较时不要用 ==要用is。is是用来比较两个变量是否指向同一个对象。
"etc" is None # => False
None is None # => True
@ -482,52 +481,50 @@ filter(lambda x: x > 5, [3, 4, 5, 6, 7]) # => [6, 7]
####################################################
# We subclass from object to get a class.
# 定义一个继承object的类
class Human(object):
# A class attribute. It is shared by all instances of this class
# 类属性,被所有此类的实例共用。
species = "H. sapiens"
# Basic initializer, this is called when this class is instantiated.
# Note that the double leading and trailing underscores denote objects
# or attributes that are used by python but that live in user-controlled
# namespaces. You should not invent such names on your own.
# 构造方法,当实例被初始化时被调用。注意名字前后的双下划线,这是表明这个属
# 性或方法对Python有特殊意义但是允许用户自行定义。你自己取名时不应该用这
# 种格式。
def __init__(self, name):
# Assign the argument to the instance's name attribute
self.name = name
# An instance method. All methods take "self" as the first argument
# 实例方法第一个参数总是self就是这个实例对象
def say(self, msg):
return "{name}: {message}".format(name=self.name, message=msg)
# A class method is shared among all instances
# They are called with the calling class as the first argument
# 类方法,被所有此类的实例共用。第一个参数是这个类对象。
@classmethod
def get_species(cls):
return cls.species
# A static method is called without a class or instance reference
# 静态方法。调用时没有实例或类的绑定。
@staticmethod
def grunt():
return "*grunt*"
# Instantiate a class
# 构造一个实例
i = Human(name="Ian")
print(i.say("hi")) # prints out "Ian: hi"
print(i.say("hi")) # 印出 "Ian: hi"
j = Human("Joel")
print(j.say("hello")) # prints out "Joel: hello"
print(j.say("hello")) # 印出 "Joel: hello"
# Call our class method
# 调用一个类方法
i.get_species() # => "H. sapiens"
# Change the shared attribute
# 改一个共用的类属性
Human.species = "H. neanderthalensis"
i.get_species() # => "H. neanderthalensis"
j.get_species() # => "H. neanderthalensis"
# Call the static method
# 调用静态方法
Human.grunt() # => "*grunt*"