私の関数では、入力のタイプが有効になるようにチェックします(たとえば、「n」の素数性をチェックする関数の場合、「n」を文字列として入力したくない)。long
この問題は、 sとsのチェックで発生しint
ます。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番号を入力すると、「n」はタイプではなくタイプでisPrime(123456789000)
あるため、明らかに発生します。TypeError
long
int
long
では、 sとsのv2.7とv3.3の両方で有効な入力であるかどうかを確認するにはどうすればよいint
ですか?
ありがとう!