您的位置:首页 > 编程语言 > Python开发

学习整理——Python中内置方法

2016-10-16 01:31 183 查看

内置方法

类似Java,Python中声明每一个类系统都会加上一些默认内置方法,提供给系统调用该类的对象时使用。比如需要实例化一个对象时,需要调用该类的__init__方法;使用print去打印一个类时,其实调用的是__str__方法;等等。

__init__(self, ...):初始化对象,在创建新对象时调用。在方法里,可以初始化该对象的属性,否则调用其他时可能出“现has no attribute"错误;

__del__(self):释放对象,在对象被虚拟机删除之前调用;

__new__(cls,*args,**kwd):实例的生成操作,相比__init__在对象实例化调用做初始化,__new__方法运行在实例化阶段,修改某些实例化过程;

__str__(self):在使用print语句时被调用,将对象的属性值拼接成字符串返回;

__getitem__(self, key):获取序列的索引key对应的值,需要使用[]操作符的类需要覆盖的,等价于seq[key];

 __setitem__(self, key, value):类似__geitem__,需要seq[key]=value操作的类需要实现该方法;

__len__(self):在调用内联函数len()时被调用;

__getattr__(s, name): 获取属性的值;

 __setattr__(s, name, value):设置属性的值;

__delattr__(s, name): 删除name属性;

__getattribute__():__getattribute__()功能与__getattr__()类似,无条件被调用,通过实例访问属性。如果class中定义了__getattr__(),则__getattr__()不会被调用(除非显示调用或引发AttributeError异常);

 __gt__(self, other):判断self对象是否大于other对象;

__lt__(self, other):判断self对象是否小于other对象;

 __ge__(slef, other):判断self对象是否大于或者等于other对象;

__le__(self, other): 判断self对象是否小于或者等于other对象;

__eq__(self, other):判断self对象是否等于other对象;

__call__(self, *args): 把实例对象作为函数调用,在一个对象后面加上(),虚拟机就会调用该__call__方法。

内置变量

__name__:标识模块的名字的一个系统变量。假如当前模块是主模块(也就是调用其他模块的模块),那么此模块名字就是"__main__",通过if判断这样就可以执行“__main__”后面的主函数内容;假如此模块是被import的,则此模块名字为文件名字(不加后面的.py),通过if判断这样就会跳过“__main__”后面的内容;

__file__:用来获得模块所在的路径的,这可能得到的是一个相对路径;

__package__:当前文件为None,导入其他文件,指定文件所在包用 . 分割;

__doc__:文件注释。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: