每天学一点Python【面向对象几个小知识点】

1、什么是迭代器?
可以通过next函数取值的对象,就是迭代器。即有 def next(self) 方法就是迭代器

2、什么是迭代器协议?
迭代器协议是指能够使用next函数获取下一项数据,在没有下一项数据时触发一个StopIteration异常来终止迭代的约定。
迭代器协议是实现方法:
def next(self):
# 此处实现迭代器协议

3、 什么是可迭代对象?
是指能用iter(obj) 函数返回迭代器的对象(实例)。
可迭代对象内部需要定义 def iter(self) 方法来返回迭代器对象(实例)。即有 def iter(self) 方法 就是可迭代对象

4、什么是函数重写?
在自定义的类内添加相应的方法,让自定义的类创建的实例像内建对象一样进行内建 函数操作。

5、什么是运算符重载?
让自定义的类对象(实例)能生成的够使用运算符进行操作。
作用:
(1)让自定义的类的实例像内建对象一样进行运算符操作。
(2)让程序简洁易读。
(3)对自定义对象将运算符赋予新的运算规则。

6、什么是反向算术运算符的重载?
当运算符的左侧为内建类型,右侧为自定义类型运行算术运算符运算时,会出现TypeError错误,因无法修改内建类型的代码来实现运算符重载, 此时需要使用反向算术运算符重载来完成重载。

7、实例方法, 类方法, 静态方法, 函数的知识点
实例方法能访问实例变量, 类变量 和全局变量。
类方法不能访问实例变量,能访问类变量和全局变量。
静态方法不能访问实例变量,类变量,但能访问全局变量。
函数,只能访问全局变量。

猜你喜欢

转载自blog.csdn.net/weixin_43760712/article/details/86217902