文档只说Python解释器执行"基本优化",而不涉及任何细节.显然,它依赖于实现,但有没有办法让我们了解可以优化哪些类型的事物,以及它可以节省多少运行时间?
使用-O有什么缺点吗?
我唯一知道的是-O禁用assert,但可能不应该assert用于生产中仍然可能出错的东西.
假设有一组类Map1,Map2,Map3,...都是从BaseMap扩展的,我使用一些反射机制来获取子Map的实例.我想动态获取其中一个类的实例并将其存储在变量中m,并让pydev将该类型识别为BaseMap,以便我可以在其上使用单词完成.
我发现一个解决方案是添加代码
if False:
m = BaseMap(0,0,0)
Run Code Online (Sandbox Code Playgroud)
分配之后m和使用之前.if条件中的行永远不会被执行,但它声明m是BaseMap类型对象.
这可能看起来很傻,但确实有效.还有其他办法吗?