In [1]:
i = 100
f = 1.23

In [2]:
print(type(i))
print(type(f))


<class 'int'>
<class 'float'>

In [3]:
print(isinstance(i, int))


True

In [4]:
print(isinstance(i, float))


False

In [5]:
print(isinstance(f, int))


False

In [6]:
print(isinstance(f, float))


True

In [7]:
f_i = 100.0

In [8]:
print(type(f_i))


<class 'float'>

In [9]:
print(isinstance(f_i, int))


False

In [10]:
print(isinstance(f_i, float))


True

In [11]:
f = 1.23

In [12]:
print(f.is_integer())


False

In [13]:
f_i = 100.0

In [14]:
print(f_i.is_integer())


True

In [15]:
def is_integer_num(n):
    if isinstance(n, int):
        return True
    if isinstance(n, float):
        return n.is_integer()
    return False

In [16]:
print(is_integer_num(100))


True

In [17]:
print(is_integer_num(1.23))


False

In [18]:
print(is_integer_num(100.0))


True

In [19]:
print(is_integer_num('100'))


False

In [20]:
def is_integer(n):
    try:
        float(n)
    except ValueError:
        return False
    else:
        return float(n).is_integer()

In [21]:
print(is_integer(100))


True

In [22]:
print(is_integer(100.0))


True

In [23]:
print(is_integer(1.23))


False

In [24]:
print(is_integer('100'))


True

In [25]:
print(is_integer('100.0'))


True

In [26]:
print(is_integer('1.23'))


False

In [27]:
print(is_integer('string'))


False