主要观点总结
本文总结了Python的一些关键特性和改进,包括Py2与Py3的差异,Python3的新特性,以及Python的库和工具。同时,文章还介绍了数据库、数据结构、算法、设计模式、虚拟内存、I/O模型、分页机制、分段机制、数据库优化与设计、缓存技术、分布式锁、服务端性能优化方向等概念,并提供了相应的示例代码。
关键观点总结
关键观点1: Py2与Py3的差异
Python2与Python3在语法、数据类型、函数和模块等方面存在差异,例如print成为函数,unicode对象不再存在,除号返回浮点数等。
关键观点2: Python3的新特性
Python3引入了许多新特性,如异步编程、枚举类型、模块、函数、集合、协程等,同时提供了对Unicode和国际化更好的支持。
关键观点3: Python的库和工具
Python拥有众多强大的库和工具,如用于网络编程的asyncio,用于数据库操作的MySQL和Redis,用于测试的unittest和pytest,用于并发编程的Gevent和multiprocessing等。
关键观点4: 数据库优化与设计
数据库优化包括索引优化、慢查询消除、批量操作等,同时设计时要考虑数据的分布和访问模式,选择合适的数据库类型和存储结构。
关键观点5: 缓存技术
缓存技术可以提高数据访问速度,减少数据库压力。常用的缓存技术有Redis、Memcached等,它们提供了键值存储、数据持久化、分布式缓存等功能。
关键观点6: 分布式锁
分布式锁用于保证分布式系统中多个节点对共享资源的互斥访问。常见的分布式锁实现有基于Redis的setnx命令和基于Zookeeper的分布式锁。
关键观点7: 服务端性能优化方向
服务端性能优化包括使用合适的数据结构和算法,优化数据库查询,减少IO阻塞,使用异步编程技术,如Asyncio,以及使用并发编程技术,如多线程和Gevent。
文章预览
来自| SegmentFault 这是一份来自于 SegmentFault 上的开发者 @二十一 总结的 Python 重点。由于总结了太多的东西,所以篇幅有点长,这也是作者"缝缝补补"总结了好久的东西。 Py2 VS Py3 print成为了函数,python2是关键字 不再有unicode对象,默认str就是unicode python3除号返回浮点数 没有了long类型 xrange不存在,range替代了xrange 可以使用中文定义函数名变量名 高级解包 和*解包 限定关键字参数 *后的变量必须加入名字=值 raise from iteritems移除变成items() yield from 链接子生成器 asyncio,async/await原生协程支持异步编程 新增 enum, mock, ipaddress, concurrent.futures, asyncio urllib, selector 不同枚举类间不能进行比较 同一枚举类间只能进行相等的比较 枚举类的使用(编号默认从1开始) 为了避免枚举类中相同枚举值的出现,可以使用@unique装饰枚举类 #枚举的注意事项 from enum import Enum clas
………………………………