Python面向对象
每种语言都需要创建类和对象,Python也不例外。
Python用class创建一个新类:
class ClassName:
'类的帮助信息' #类文档字符串,可以通过ClassName._doc_ 查看此帮助信息
class_suite #类体
类的方法与普通的函数有一个区别,那就是必须有一个额外的第一个参数名称,一般为self。
self在定义类的方法时必须有,但调用时不一定要传入相应参数,self代表类的实例,代表当前对象的地址,而self.__class__指向类。
在其他编程语言中,实例化类一般使用new语句,但是Python中没有该语句,一般使用类名称来进行实例化类。
Python可以试用一些函数访问类属性,也拥有一些内置属性:
- __dict__ : 类的属性(包含一个字典,由类的数据属性组成)
 - __doc__ :类的文档字符串
 - __name__: 类名
 - __module__: 类定义所在的模块(类的全名是'__main__.className',如果类位于一个导入模块mymod中,那么className.__module__ 等于 mymod)
 - __bases__ : 类的所有父类构成元素(包含了一个由所有父类组成的元组)
 
单下划线、双下划线、头尾双下划线说明:
- 
__foo__: 定义的是特列方法,类似 __init__() 之类的。
 - 
_foo: 以单下划线开头的表示的是 protected 类型的变量,即保护类型只能允许其本身与子类进行访问,不能用于 from module import *
 - 
__foo: 双下划线的表示的是私有类型(private)的变量, 只能是允许这个类本身进行访问了。
 
Python不允许实例化的类访问私有数据,但你可以使用object._className__attrName访问属性。
基础重载方法
下表列出了一些通用的功能,你可以在自己的类重写:
| 
 序号  | 
 方法, 描述 & 简单的调用  | 
|---|---|
| 
 1  | 
 __init__ ( self [,args...] ) 构造函数 简单的调用方法: obj = className(args)  | 
| 
 2  | 
 __del__( self ) 析构方法, 删除一个对象 简单的调用方法 : del obj  | 
| 
 3  | 
 __repr__( self ) 转化为供解释器读取的形式 简单的调用方法 : repr(obj)  | 
| 
 4  | 
 __str__( self ) 用于将值转化为适于人阅读的形式 简单的调用方法 : str(obj)  | 
| 
 5  | 
 __cmp__ ( self, x ) 对象比较 简单的调用方法 : cmp(obj, x)  | 
                    
                
                
            
        
浙公网安备 33010602011771号