在我的函数中,我检查输入的类型以使其有效(例如 - 对于检查“n”素数的函数,我不希望将“n”作为字符串输入)。检查long
s 和int
s 时会出现问题。在 Python 3.3 中,他们删除了long
-type 编号,因此出现了问题:
def isPrime(n):
"""Checks if 'n' is prime"""
if not isinstance(n, int): raise TypeError('n must be int')
# rest of code
这适用于 v2.7 和 v3.3。但是,如果我在 Python 2.7 程序中导入此函数,并long
为 'n' 输入一个 -type 数字,如下所示:isPrime(123456789000)
,它显然会引发 aTypeError
因为 'n' 的类型是long
,而不是int
。
long
那么,我如何检查它对于s 和s 的v2.7 和 v3.3 是否都是有效输入int
?
谢谢!