初识面向对象:
Python中一切皆对象,我自己,我的电脑,电脑桌,都称之为一个对象.对象是类的一个实体.
我们可以通过行为和特征(属性)来描述一个对象,比如小狗,它有四条腿,一个尾巴,两个虎牙,这就是它的特征,它会汪汪叫,会摇尾巴等这就是它的行为.所有一个真实的对象具备两方面的特征,行为和特征(属性)。
在python中,一个对象的特征也称为属性(attribute)。它所具有的行为也称为方法(method)
结论:对象=属性+方法
在python中,把具有相同属性和方法的对象归为一个类(class),比如人类,动物,植物等等,这些都是类的概念。
类是对象的模板或蓝图,类是对象的抽象化,对象是类的实例化。类不代表具体的事物,而对象表示具体的事物.
一.创建类和对象:
1 1.self2 类的方法与普通的函数只有一个特别的区别--他们必须有一个额外的第一个参数名称,但是在调用这个方法的时候你不为这个参数赋值,Python会提供这个值。
3 这个特别的变量指对象本身,按照惯例它的名字是self.
4 2.如果你有一个类称为MyClass和这个类的一个实例MyObject。当你调用这个对象的方法MyObject.method(arg1,arg2)的时候,这会由Python自动转为
5 MyClass.method(MyObject,arg1,arg2)6
7 #############################################创建类MyClass(object)################
8 classMyClass(object): #定义MyClass类9 defmethod(self,arg1,arg2): #定义method方法.其中self为特殊参数,必填.10 print """
11 arg1 is %s12 arg2 is %s""" %(arg1,arg2)13
14
15 MyObject =MyClass() #创建MyObject对象(实例)16
17 MyObject.method("Saneri",29) #<==> MyClass.method(MyObject,"Saneri",29) #执行MyClass.method()方法
18
19 #############################################
二.属性
在类中我们可以定义一些属性,比如:
1 classpeople:2 name = 'Saneri'
3 age = 18
4
5 P =people()6 print P.name,P.age
定义了一个people类,里面定义了name和age属性,默认值分别为'Saneri'和18。在定义了类之后,就可以用来产生实例化对象了,这句P = people( )实例化了一个对象p,然后就可以通过P来读取属性了。这里的name和age都是公有的,可以直接在类外通过对象名访问,如果想定义成私有的,则需在前 面加2个下划线 ' __'
classpeople:__name = 'Saneri' #私有属性
__age = 18 #私有属性 p=people()print p.__name,p.__