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提供的服务,