发布网友
共1个回答
热心网友
在Python面试中,常见的基础问题涵盖了数据结构、内置概念和模块使用等。以下是针对这些问题的简要概括:
1. 数据结构:Python支持多种数据结构,如列表(list)、元组(tuple)、集合(set)和字典(dict)等,各有其特性和适用场景。
2. 列表与元组:列表是可变的,适合动态存储,元组则是不可变的,适合存储不变的数据,如配置项。
3. 生产者-消费者与迭代器、生成器:生产者负责生成数据,消费者负责处理数据。生成器通过yield实现延迟计算,更节省内存。
4. 闭包与装饰器:闭包是函数内部定义的函数,装饰器是在运行时修改函数行为,如添加日志或性能分析。
5. 匿名函数(lambda):使用简洁的语法创建一次性使用的函数,常用于map、filter等函数中。
6. 类与继承:类是对象的模板,继承允许子类继承父类的属性和方法。例如,定义一个子类Animal,继承自AnimalBase。
7. 深拷贝与浅拷贝:深拷贝复制对象的完整结构,浅拷贝仅复制对象引用,对象内容共享。
8. 常用模块:os处理文件系统,sys处理命令行参数,re用于正则表达式,random生成随机数,json处理json数据,time和logging用于时间处理和日志,xml用于网页解析。
9. 垃圾回收机制:Python采用引用计数和标记-清除策略,分代回收优化内存效率。
10. 列表与数组:列表灵活,存储不同元素类型;数组固定大小,存储相同类型元素,访问速度快。
11. append与extend:append用于追加单个元素,extend用于追加列表内容。
12. ==与is:前者比较值,后者比较对象身份。
13. break, continue, pass:break中断循环,continue跳过当前循环,pass无操作。
14. 局部与全局变量:局部变量在函数内,全局变量全局可见,函数内操作需使用global声明。
15. xrange与range:xrange是生成器,节省内存,range生成列表。
16. 装饰器:给已有函数增加功能的函数,利用闭包实现。
17. GIL:全局解释器锁多线程并行,多进程可行但开销大。
18. 元组作为字典key:非容器对象和不包含容器对象的tuple可以作为key。
19. 多线程与多进程:多线程在进程内并行,多进程在不同进程中,使用threading和multiprocessing模块实现。