python之类的相关知识

面向对象技术简介

类: 用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。

类变量:类变量在整个实例化的对象中是公用的。类变量定义在类中且在函数体之外。类变量通常不作为实例变量使用。

数据成员:类变量或者实例变量用于处理类及其实例对象的相关的数据。

方法重写:如果从父类继承的方法不能满足子类的需求,可以对其进行改写,这个过程叫方法的覆盖,也称为方法的重写。

实例变量:定义在方法中的变量,只作用于当前实例的类。

继承:即一个派生类(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__