文档只说Python解释器执行"基本优化",而没有详细说明.很明显,它依赖于实现,但是有没有什么方法可以感觉到什么类型的东西可以优化,以及它可以节省多少运行时间?

使用-O有什么坏处吗?

我所知道的唯一一件事是-O禁用了assert,但人们大概不应该将assert用于生产中仍然可能出错的事情.

推荐答案

在Python 2.7中,-O具有以下效果:

此外,-OO具有以下效果:

为了验证CPython不同版本的效果,请将源代码grep为Py_OptimizeFlag.

官方文件链接:https://docs.python.org/2.7/tutorial/modules.html#compiled-python-files

Python-3.x相关问答推荐

为什么vs code返回错误—LocaleError:int对象没有属性where,但相同的代码运行在Google Colab上没有任何问题''''

这是重命名极地df列的最好方式吗?

使用具有相同索引的多次出现的索引列表更新NumPy数组

切片时是否在NumPy ND数组中创建新对象?

根据第一个字典的值序列对第二个字典进行排序

为什么我无法在django中按月筛选事件?

如何将从维基百科表中抓取的数据转换为字典列表?

如何将函数映射到所有命名元组的元素?

Sunburst 折线图可视化

在新数据帧上自动提取两个字符串 python 之间的相等性

将 rgb numpy 图像转换为 rgb 列表和相应的索引值

来自嵌套字典的完整地址

如何将列表和字典逐行组合在一起

将元组列表转换为以整个元组为键的字典列表

例外:使用 Pyinstaller 时找不到 PyQt5 插件目录,尽管 PyQt5 甚至没有被使用

Python 3 list(dictionary.keys()) 引发错误.我究竟做错了什么?

python total_ordering:为什么使用 __lt__ 和 __eq__ 而不是 __le__?

为什么我在 Python 中收到错误消息无法导入名称 NoneType?

__new__ 方法给出错误 object.__new__() 只接受一个参数(要实例化的类型)

如何在多核上运行 Keras?