Python基础与进阶试题集锦
3星 · 超过75%的资源 需积分: 48 126 浏览量
更新于2024-09-08
收藏 3KB TXT 举报
"Python试题集,涵盖基础概念、数据结构、并发、网络编程、数据库操作、内存管理等核心知识点。"
1. GIL (全局解释器锁) 是Python解释器的一个特性,它使得在多线程环境下,同一时间只有一个线程能执行Python字节码,保证了线程安全,但也限制了Python在多核CPU环境下的并行计算能力。
2. `@staticmethod` 和 `@classmethod` 都是用来修饰方法的装饰器。`staticmethod` 不需要接收self参数,直接处理类或实例的静态方法;而`classmethod` 接收第一个参数为类本身,用于处理与类相关的非实例方法。
3. Python的拷贝分为浅拷贝和深拷贝。浅拷贝只复制对象的引用,不复制对象的内容;深拷贝则会递归复制对象及其内容,形成完全独立的新对象。
4. `str.search()` 搜索整个字符串,找到第一个匹配项返回其索引;`str.match()` 只匹配字符串开头,如果开头不匹配则返回None。
5. 迭代器是可迭代对象的抽象接口,只能向前遍历;生成器是一种特殊的迭代器,通过`yield`语句可以暂停执行,实现延迟计算。
6. 协程是一种轻量级的并发模型,Python通过生成器和`asyncio`库实现协程,允许多个任务在单线程中交替执行,提高执行效率。
7. 装饰器是一种特殊类型的函数,可以用来修改或增强其他函数的功能,例如实现日志、缓存、权限检查等。实现单例装饰器可以确保一个类只有一个实例。
8. 快速排序是一种高效的排序算法,基于分治策略,通过选取一个基准值并将其与其他元素比较来划分数组,然后递归地对子数组进行排序。
9. `select`和`epoll`都是I/O多路复用技术,用于高并发网络编程。`select`适用于小规模文件描述符,而`epoll`更高效,支持边缘触发和水平触发,适合大规模连接。
10. Python的垃圾回收机制自动回收不再使用的内存,主要通过引用计数和循环垃圾收集来实现。
11. Python socket编程涉及创建套接字、连接服务器、发送和接收数据、关闭连接等步骤。
12. 反转字符串可以使用切片操作,如`[::-1]`。
13. Web服务器负载架构包括负载均衡、反向代理、集群等,如Nginx、Apache等服务器软件。
14. 限制函数调用频率的装饰器可以通过定时器实现,例如使用`time.sleep()`和线程锁。
15. tuple是不可变序列,list是可变序列,dict是键值对容器,set是无序不重复元素集合。
16. 迭代器和生成器都是Python的迭代协议实现,迭代器需先调用`iter()`获取,而生成器通过`yield`语句自动创建。
17. 单例模式确保一个类只有一个实例,可以使用类属性和`__new__`方法实现,或者使用装饰器。
18. lambda函数用于创建小型匿名函数,`reduce()`结合`lambda`可以实现累加。
19. 正则匹配手机号可以使用模式`\+86?\d{11}`,考虑包含前缀86和+86的情况。
20. 对字典按值排序,可以使用`sorted()`结合`lambda`作为key。
21. MySQL高可用方案包括主从复制、双主复制、MHA、Percona XtraDB Cluster等,备份方案有全量备份、增量备份、逻辑备份等,各有优缺点。
22. TCP三次握手和四次挥手是建立和终止TCP连接的过程。
23. MySQL半同步复制保证至少有一个从库已写入,提高了数据一致性,但可能增加延迟。
24. Python的类型转换如`int()`, `str()`, `float()`等函数用于不同数据类型间的转换。
25. 删除list重复元素,可以使用`set()`转化后再转换回list。
26. 类方法、实例方法和静态方法的区别在于接收的第一个参数,类方法接收类对象,实例方法接收实例对象,静态方法不接收。
27. `pass`语句是空语句,用于占位,不做任何操作。
28. `range()`生成指定范围的整数序列,不占用内存;`xrange()`(Python 2.x)类似,但返回迭代器。
29. `<.*>`匹配贪婪模式,尽可能多地匹配字符;`<.*?>`匹配非贪婪模式,尽可能少地匹配字符。
30. 使用`copy`模块的`copy()`和`deepcopy()`函数分别进行浅拷贝和深拷贝。
31. 使用`str.replace()`方法可以查询和替换字符串中的特定子串。
32. `*args`用于接收不定数量的位置参数,`**kwargs`用于接收不定数量的关键字参数。
2023-01-26 上传
2023-09-06 上传
2023-10-19 上传
2023-09-06 上传
2023-05-16 上传
2019-12-02 上传
qq_41497350
- 粉丝: 0
- 资源: 1
最新资源
- 全国江河水系图层shp文件包下载
- 点云二值化测试数据集的详细解读
- JDiskCat:跨平台开源磁盘目录工具
- 加密FS模块:实现动态文件加密的Node.js包
- 宠物小精灵记忆配对游戏:强化你的命名记忆
- React入门教程:创建React应用与脚本使用指南
- Linux和Unix文件标记解决方案:贝岭的matlab代码
- Unity射击游戏UI套件:支持C#与多种屏幕布局
- MapboxGL Draw自定义模式:高效切割多边形方法
- C语言课程设计:计算机程序编辑语言的应用与优势
- 吴恩达课程手写实现Python优化器和网络模型
- PFT_2019项目:ft_printf测试器的新版测试规范
- MySQL数据库备份Shell脚本使用指南
- Ohbug扩展实现屏幕录像功能
- Ember CLI 插件:ember-cli-i18n-lazy-lookup 实现高效国际化
- Wireshark网络调试工具:中文支持的网口发包与分析