[博客翻译]别让字典毁了你的代码——Python编程中的替代方案 在编程中,字典(dict)因其简洁而常被滥用,但过度依赖它们可能会带来维护难题。让我们来看看字典存在的问题,并探讨如何用现代Python工具来优化。当你编写接受字典作为参数的函数时,扩展和修改这些函数就像噩梦一样。要改变处理字典的函数,你可能需要追溯到字典创建的地方,这在程序复杂且无规划增长时尤为困难,可能导致数据结构不一致。程序员常常滥用字典的可变性,随意修改其值以适应特定工作流程。这种即席修改会破坏... 由 openoker发布于 2024-10-09 18:36:25 字典python 阅读次数 181
[博客翻译]多版本Python思考 随着uv库的快速发展,我重新开始研究如何让Python支持同时使用不同版本的库。目标是uv能解决多个不兼容版本的库之间的依赖冲突,比如一个库可以同时依赖pydantic 1.x和2.x。简单来说,设想一个库能够同时使用pydantic 1.x和2.x,而不影响彼此。目前我还没实现,但已经找到了阻碍的关键点。这篇博客主要是分享如何在尽量减少对Python改动的前提下实现这一目标... 由 openoker发布于 2024-10-01 22:40:25 pythonuv库多版本库 阅读次数 122
[博客翻译]GIL在Python 3.13中变为可选 在Python 3.13版本中,一个重要的变化是GIL(全局解释器锁)的可选性。GIL是CPython解释器为了确保任何时候只有一个线程执行Python字节码而设计的机制。从Python 3.13开始,这个长期存在的限制可能会被解除,允许更多的并发执行。 什么是GIL? GIL是一个保证同一时间只有一个线程运行的核心机制,这对于单线程执行的Python代码来说是必要的,但对多线程应用来说可能是个瓶颈,因为它限制了真正的并行计算。 由 openoker发布于 2024-08-12 18:05:42 python3.13全局解释器锁多线程模式 阅读次数 105