我想知道如何在Python 2.7中将inf和-inf定义为int.我试过,它似乎inf和-inf只能作为浮点数工作.
a = float('-inf') # works
b = float('inf') # works
c = int('-inf') # compile error, ValueError: invalid literal for int() with base 10: 'inf'
d = int('inf') # compile error, ValueError: invalid literal for int() with base 10: 'inf'
解决方法:
总结一下评论中的内容
在Python中无法将无穷大表示为整数.这符合许多其他语言的行为.但是,由于Python的动态类型系统,您可以使用float(‘inf’)代替整数,它的行为与您期望的一样.
至于为infinity创建一个’double’,在Python中只有一个浮点类型,称为float,与其他语言不同,例如Java,它使用术语float和double来表示具有不同精度的浮点数.在Python,floating point numbers usually use double-precision中,它们的行为与Java中的双精度相同.