1

我有一个需要计算的函数,它必须处理相当大的数字(比如 200^200)。我发现我可以使用 Decimal 包很好地处理它,但是该功能很慢。因此,我安装了 GMPY2 软件包,并且能够将时间缩短大约七分之一。但是我需要将功能分发给其他人,并不是每个人都有 GMPY2 模块。如何根据可用模块更改函数的定义。我可以做这样的事情:

try:
    import gmpy2
    def function_with_big_numbers()
exceptImportError:
    import decimal
    def function_with_big_numbers()

还是会引起问题?有没有更好的办法

4

1 回答 1

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

这种方式使其更清洁,更易于管理

于 2017-06-30T08:23:24.450 回答