Python 数据类型判断

引言

不知道大家有没有过和我一样的困惑,就是不知道该如何判断一个数据的类型。比如整数类型以及 ndarray 类型。这里介绍两种方法来实现这一判断。

正文

对于一个整数型数据

# 整数a
a = 1
if isinstance(a, int):
    print(a)

if type(a) == int:
    print(a)

if type(a) is int:
    print(a)
"""
result:
1
1
1
"""

可以看到上述三种方式均成功输出了结果,上述方法对其他数据类型也适用。

ndarray类型判断

import numpy as np

a = np.array(1)
if type(a) == np.ndarray:
    print(type(a))

if isinstance(a, np.ndarray):
    print(a)

if type(a) is np.ndarray:
    print(a)
"""
result:
<class 'numpy.ndarray'>
1
1
"""

可以看到,上述三种方式也都获取到了结果。

虽然对于数据类型判断,上述三种方法均适用,但是为了避免一些不必要的麻烦和获取到更加可信的结果,推荐使用 isinstance() 函数进行判断。

拓展示例

如果我们想要判断输入的数据是否为 int 或者 float 类型中的一种该怎么办呢?

a = 1
b = 1.0

if isinstance(a, (int, float)):
    print(a)

if isinstance(b, (int, float)):
    print(b)
"""
result:
1
1.0
"""

可以看到,这里我们也得到了想要的结果。

需要特别注意的是,多个数据类型进行判断时,需要使用元组的写法,如 (int, float),这里如果使用数组的写法会报错。

如果大家觉得有用,就请点个赞吧~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

勤奋的大熊猫

你的鼓励将是我写作最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值