1、Python与其他语言(如Java/C++)的核心区别是什么?
Python是动态类型的解释型语言,语法简洁,支持多种编程范式(面向对象、函数式、过程式)。与Java相比, Python无需编译且语法更简洁;与C++相比,Python开发效率高但运行速度较慢,且通过解释器执行而非直接编译为机器码。
2、列表和元组的核心区别是什么?
列表可变 ,用[]定义 ,适用于动态数据集合(如增删元素);
元组不可变 ,用()定义 ,适用于固定数据(如字典键或配置项) ,且内存占用更小。
3、在异常处理中 ,else和finally块分别何时执行?举例说明其适用场景。
else在无异常时执行(如资源初始化成功后的操作);
finally无论是否异常均执行(如释放文件锁)。
4、解释 Python 中的三元表达式
与 C++不同, 在 Python 中我们不需要使用?符号 ,而是使用 如下语法:
[on true] if [expression]else [on false]
如果 [expression] 为真, 则 [on true] 部分被执行 。如果表示为假则 [on false] 部分被执行
5、Python的可变类型和不可变类型?
(1)不可变类型 :指一旦创建 ,其值就不能被修改的类型。 当对不可变类型的数据进行操作时 ,实际上是创建了一个新的对象。Python 中常见的不可变类型有:数字(Number):包括整数(int)、浮点数(float)、复数( complex);
(2) 可变类型:指在创建后,其值可以被修改的类型。对可变类型的数据进行操作时,是在原对象上进行修改 ,不会创建新的对象。 Python 中常见的可变类型有 :列表、字典、集合
6、解释装饰器的作用及典型应用场景
装饰器用于在不修改原函数代码的情况下扩展功能(如日志记录、性能统计、权限校验)。通过闭包实现,接收函数作为参数并返回增强后的函数。例如缓存装饰器可优化递归性能。
7、__new__和__init__的区别是什么?
__new__是类方法 ,负责创建实例并返回;
__init__是实例方法 ,负责初始化实例属性。重写__new__常用于单例模式或不可变对象定制。
8、深拷贝与浅拷贝的区别是什么?