面向对象技术简介
类: 用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。
类变量:类变量在整个实例化的对象中是公用的。类变量定义在类中且在函数体之外。类变量通常不作为实例变量使用。
数据成员:类变量或者实例变量用于处理类及其实例对象的相关的数据。
方法重写:如果从父类继承的方法不能满足子类的需求,可以对其进行改写,这个过程叫方法的覆盖,也称为方法的重写。
实例变量:定义在方法中的变量,只作用于当前实例的类。
继承:即一个派生类(derived class)继承基类(base class)的字段和方法。继承也允许把一个派生类的对象作为一个基类对象对待。
在Python中声明函数与声明类很相似
def functionName(arge): "函数文档字符串" #函数体 #声明类 class 类名: "类的文档字符串" 类体
经典类:
class Chinese: '这是一个中国人的类' pass #用类Chinese实例化出一个对象d1 d1 = Chinese() print d1
新式类:
#新式类 class Chinese2(object): pass
#属性:类是用来描述一类事物,类的对象指的是这一类事物中的一个个体,是事物就要有属性,属性分为
#1,数据属性,就是变量
#2,函数属性,就是函数,在面向对象里通常称为方法
#注意:类和对象均用点来访问自己的属性
数据属性
class China: goverment = "123" print China.goverment
函数属性
class China: goverment = "123" def sui_di(): #函数属性 print ("共性") def cha_dui(self): print "前面" print China.goverment China.sui_di()
属性的调用
__dict__ : 类的属性(包含一个字典,由类的数据属性组成)
__doc__ :类的文档字符串
__name__: 类名
__module__: 类定义所在的模块(类的全名是'__main__.className',如果类位于一个导入模块mymod中,那么className.__module__ 等于 mymod)
__bases__ : 类的所有父类构成元素(包含了一个由所有父类组成的元组)
#类的其他属性
print China.__name__
print China.__doc__
print China.__bases__
print China.__module__