小编Tan*_*bot的帖子

为什么破解而不是提出异常更快?

在检查了几个简单的测试之后,似乎从循环中断到结束生成器而不是引发StopIteration异常似乎更快.如果停止生成器的标准和可接受的方法正在使用异常,为什么会出现这种情况.资源

In [1]: def f():
   ....:     for i in range(1024):
   ....:         yield None
   ....:         break
   ....:     

In [2]: def g():
   ....:     for i in range(1024):
   ....:         yield None
   ....:         raise StopIteration
   ....:     

In [3]: %timeit for i in f(): pass
1000000 loops, best of 3: 1.22 µs per loop

In [4]: %timeit for i in g(): pass
100000 loops, best of 3: 5.9 µs per loop

In [5]: %timeit for i in f(): pass
1000000 loops, best of 3: …
Run Code Online (Sandbox Code Playgroud)

python python-3.x

20
推荐指数
1
解决办法
3291
查看次数

Python:如何为dbm.gnu安装gdbm

在Python 3文档中,它声明dbm模块将在已安装的情况下使用gdbm。在我的脚本中,我from dbm.gnu import open as dbm_open尝试尝试导入模块。它总是返回带有异常ImportError: No module named '_gdbm'。我已经去了gnu网站并下载了最新版本。我使用 ./configure --enable-libgdbm-compat,进行make; make check; make install了安装,并且没有错误安装。我可以访问该库的手册页,但仍然无法将其导入Python 3.5.2(Anaconda)。如何为gdbm安装Python模块?

gdbm python-3.x

5
推荐指数
1
解决办法
1252
查看次数

标签 统计

python-3.x ×2

gdbm ×1

python ×1