Python で変数が整数かどうかを確認する
- 
          
            オブジェクトが Python の int型でisinstance()メソッドを使用してあるかどうかを確認する
- 
          
            オブジェクトが Python の int型でint()メソッドを使用してあるかどうかを確認する
- 
          
            オブジェクトが Python の int型でfloat.is_integer()メソッドを使用してあるかどうかを確認する
 
Python では、数値を扱うときにさまざまなデータ型があります。これらは、int、float、および complex データ型です。
int データ型は整数を表すために使用されます。このチュートリアルでは、変数が int であるかどうかを確認する方法について説明します。
Python では、通常、type() 関数をチェックしてオブジェクトの型を返します。例えば、
x = 10
print(type(x))
print(type(x) == int)
出力:
<class 'int'>
True
この方法は正常に機能する可能性がありますが、ポリモーフィズムのすべての柔軟性をブロックします。たとえば、オブジェクトを int としてサブクラス化し、それが int として登録されることを期待している場合、これは type() 関数で失敗する可能性があります。
次のコードはこれを示しています。
class def_int(int):
    pass
x = def_int(0)
print(type(x))
print(type(x) == int)
出力:
<class '__main__.def_int'>
False
オブジェクトが Python の int 型で isinstance() メソッドを使用してあるかどうかを確認する
したがって、従来の type() よりも isinstance() 関数を使用することをお勧めします。isinstance() 関数は、オブジェクトが指定されたサブクラスに属しているかどうかを確認するために使用されます。次のコードスニペットは、それを使用して int オブジェクトをチェックする方法を説明しています。
y = 10
class def_int(int):
    pass
x = def_int(0)
print(isinstance(y, int))
print(isinstance(x, int))
出力:
True
True
具象 int クラスの代わりに、抽象基本クラス numbers.Integral を使用することをお勧めします。このようにして、int、long、さらには整数として機能できるユーザー定義メソッドをチェックできます。
オブジェクトが Python の int 型で int() メソッドを使用してあるかどうかを確認する
int 関数を使用してこれを実現するための単純なロジックを作成することもできます。オブジェクトが int であるためには、このオブジェクトがオブジェクトに渡されたときに int() 関数によって返される値と等しくなければなりません。次のコードはこれを示しています。
x = 10.05
if int(x) == x:
    print("True")
else:
    print("False")
出力:
False
このメソッドは、複雑なオブジェクトを操作するとタイプエラーを返します。
オブジェクトが Python の int 型で float.is_integer() メソッドを使用してあるかどうかを確認する
このメソッドは、float オブジェクトに対してのみ機能します。float オブジェクトの値が整数であるかどうかをチェックします。例えば、
x = 10.0
print(float.is_integer(x))
出力:
True
Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.
LinkedIn