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