class Person(object):
    def __init__(self,name):

        self.name = name
        print '---->create:  ', self.name
 

    def say_name(self):
         print "my name is %s" %self.name

        

p1 = Person('gf1')
p2 = Person('gf2')

p1.say_name()
p2.say_name()

 

class Person(object): 定义一个类,类名叫person

def __init__(self,name): 类的初始化函数,对类进行实例化时,先执行这个函数,name是传进来的形式参数

def say_name(self):    定义类的一个方法

p1 = Person('gf1')  实例化类Person,生成对象p1,传入参数 'gf1'

                                执行类Person的初始化函数,将值 'gf1' 传给self.name交打印

p2 = Person('gf2') 实例化类Person,生成对象p2,传入参数'gf2'

                                执行类Person的初始化函数,将值 'gf2' 传给self.name交打印

p1.say_name()  对象p1执行类的方法 say_name,打印 self.name

p2.say_name()  对象p2执行类的方法 say_name,打印 self.name

类中的方法中的参数 self,其实就当于对象本身 def say_name(self)-->def say_name(p1/p2)

p1/p2.say_name其实就是Person.say_name(p1/p2)

 

类就相当于月饼的模子,预先做好各种纹路(类的方法),将原材料放入模子(初始化函数)再取出就是一个月饼(实例化),不同的月饼(对象)馅不同(传入的参数),但它们的纹路(方法)就是模子(类)里的纹路(方法)

或者像APACHE和虚拟主机,apache为一个类,它提供web服务,虚拟主机就是它的一个对象,每个虚拟主机都可以提供WEB服务,但是它们有各自的特性,比如不同的域名,不同的目录,当外界访问虚拟主机的服务时,其实还是在访问apache提供的服务,