原标题:Python各种内置方法

1、attr 系列

python 内点法 python内置方法_python 内点法

2、item 系列

__ setitem __ (self,key,value):当对类中的某个属性进行"赋值"时触发的函数(只有使用字典赋值的方式时才会触发此方法的执行)

与Attr系列的区分: __ setattr __ (self):是在对象打点儿的方式赋值时,才会触发的方法

python 内点法 python内置方法_抛出异常_02

__ delitem __ (self,key):当类中的某个属性被删除时,触发此方法(只有使用del字典方式删除属性时,才会触发此方法)

与Attr系列的区分: __ delattr __ (self):使用del类打点儿属性的方式删除属性,才会触发此方法

python 内点法 python内置方法_python 内点法_03

getitem(self,item):当调用类中的属性或方法时触发此方法的执行(只在使用类[key]字典的方式调用时,才会触发此方法)

与Attr系列的区分:其实这里已经很明显了,getattr(self):是类打点儿调用且命名空间没有发现名字的情况下,触发此方法

python 内点法 python内置方法_赋值_04

3、slots

slots:其实就是将类中的名称锁定,实例化对象,只可以赋值和调用,不可以删除属性和增加新的属性

应用场景:当实例化几万个对象的时候,每个对象都会生成一个名称空间dict,而每一个名称空间都会各自占用一个内存,造成内存的浪费,用 slots,不用再产生 dict 了,省内存,对象的 dict 都统一用类的 dict,属性都是用 slots 给定义的

例1

python 内点法 python内置方法_赋值_05

例2

python 内点法 python内置方法_python 内点法_06

4、next 和 iter

python 内点法 python内置方法_赋值_07

5、del

这个是在回收实例化对象时触发执行的方法

每当 del 实例化对象时会触发

或者是程序结束时,会触发,总之就是实例化对象失效时都会执行del方法

注:此方法一般无须定义,因为Python是一门高级语言,程序员在使用时无需关心内存的分配和释放,因为此工作都是交给Python解释器来执行,所以,析构函数的调用是由解释器在进行垃圾回收时自动触发执行的

python 内点法 python内置方法_赋值_08

6、str

python 内点法 python内置方法_python 内点法_09

7、enter和exit

所谓上下文管理协议,就是咱们打开文件时常用的一种方法:with

__ enter __ (self):当with开始运行的时候触发此方法的运行

__ exit __ (self, exc_type, exc_val, exc_tb):当with运行结束之后触发此方法的运行

exc_type如果抛出异常,这里获取异常的类型

exc_val如果抛出异常,这里显示异常内容

exc_tb如果抛出异常,这里显示所在位置

用途或者说好处:

1.使用with语句的目的就是把代码块放入with中执行,with结束后,自动完成清理工作,无须手动干预

2.在需要管理一些资源比如文件,网络连接和锁的编程环境中,可以在exit中定制自动释放资源的机制,你无须再去关系这个问题,这将大有用处

例1

例2

python 内点法 python内置方法_实例化_10

8、doc

描述信息用的

python 内点法 python内置方法_抛出异常_11

9、call

对象后面加括号,触发执行。

注:构造方法的执行是由创建对象触发的,即:对象 = 类名() ;而对于 call 方法的执行是由对象后加括号触发的,即:对象() 或者 类()()