1.生成器、可变不可变、双下new init 、深浅拷贝

一、什么是生成器?有什么应用场景?

生成器是指Python中一种迭代器,它可以动态生成值,而不像列表或字典一样一次性生成所有的值

产生生成器的方式有两种
第一种是在函数体代码有yeild关键字
第二种是通过生成器表达式来创建

生成器的实际应用场景
生成器可以节省内存空间
如读取大型文件时,使用生成器,一行一行的读,而不是一次性全部读取,大大减少了消耗内存。

二、Python中的可变类型和不可变类型是什么?

在Python中所说的可变类型和不可变类型指的是内存地址是否可变,具体来说:

可变类型是指数据值发生改变时其内存地址不变,
如列表、字典、集合、文件对象;

不可变类型是指当数据值发生改变时其内存地址一定改变,
如整型、浮点型、元组、字符串、布尔值

三、深浅拷贝是什么?

Python中的深浅拷贝针对的是可变类型
浅拷贝只复制数据,内存地址是和原来的一样,由于复制前后内存地址一样的,因此修改一个值另一个值也会有影响

深拷贝完全复制一份全新的,意味着复制前后的内存地址是不一样的 ,因此修改不会影响彼此

四、魔法方法双下new和init的区别是什么?

双下new和init方法都用来构造对象,
new方法是类级别的方法,用于创建并返回新的实例对象
init方法是实例级别的方法,用于初始化对象的属性

posted @ 2023-04-01 14:47  阿丽米热  阅读(16)  评论(0编辑  收藏  举报
Title