我有一个我需要计算的函数,它必须使用相当大的数字(类似于200 ^ 200)。我发现使用Decimal包可以很好地处理它,但功能很慢。因此我安装了GMPY2包,并且能够将时间减少大约七分之一。但是我需要将功能分发给其他人,并不是每个人都有GMPY2模块。如何根据可用模块更改功能的定义。我可以这样做:
try:
import gmpy2
def function_with_big_numbers()
exceptImportError:
import decimal
def function_with_big_numbers()
还是会引起问题?有没有更好的方法
答案 0 :(得分:1)
这会有效,但我会按照
的方式做点什么try:
import gmpy2
except:
gmpy2 = None
def function_with_big_numbers():
if gmpy2 is None:
# put code executed when gpy2 is not available
return
# put code executed when gpy2 is available
这种方式使其更清洁,更易于管理