human
1.2 封装
封装是可以不关心对象是如何构建的而直接进行使用。如何将变量“封装”在对象内？可以将其作为属性（attribute）存储。正如方法一样，属性是对象内部的变量。  
对象有它自己的状态（state），对象的状态由它的属性（比如名称）来描述。对象的方法可以改变它的属性。
1.3 继承
如果已经有了一个类，而又想建立一个非常类似的呢？新的类可能只是添加几个方法。这时就会用到继承。
2 类和类型
类将它视为种类或类型的同义词，代表对象的集合。类的主要任务是定义它的实例会用到的方法。所有的对象都属于某一个类，称为类的实例。当一个对象所属的类是另外一个对象所属类的子集时，前者就被称为后者的子类（subclass），所以“百灵鸟类”是“鸟类”的子类。相反，“鸟类”是“百灵鸟类”的父类（superclass）。    
Python中，习惯上使用单数名词，并且首字母大写，比如Bird和Lark，来描述对象的类。
2.1 创建自己的类
先来看一个简单的类："
Please write code following the instructions in jupyter notebook style.
 ... Give me a code to 1?
assistant
#Here is code to 1.

__metaclass__=type   #确定使用新式类
class Person:
    def setName(self, name):
        self.name=name
    def getName(self):
        return self.name
    def greet(self):
        print "Hello, world! I'm %s" % self.name
foo=Person()
foo.setName('Luke Skywalker')
foo.greet()