美文网首页
2021-04-02 python3判断变量类型

2021-04-02 python3判断变量类型

作者: 菜菜笛 | 来源:发表于2021-04-04 20:31 被阅读0次

type()用于返回变量的类型
isinstance()用于判断变量是否是指定的类型。

type()虽然也可实现isinstance()的功能,但两者间存在区别:type()不会认为子类对象是一种父类类型,isinstance()会认为子类对象是一种父类类型

# -*- coding: utf-8 -*-
class A:
    pass


class B(A):
    pass


if __name__ == '__main__':
    print('使用type判断类型是否是需要的类型')
    if type(['192.168', 3389]) is list:
        print('list数组')
    print(type(['192.168', 3389]))
    print(type(('192.168', 3389)))
    print(type({'192.168', 3389}))
    print(type(1))
    print(type(1.8))
    print(type('str'))
    print(type(True))
    print(type({'abc': 456}))

    print('使用isinstance判断类型是否是需要的类型')
    if isinstance(['192.168', 3389], list):
        print('list数组')
    print(isinstance(['192.168', 3389], list))
    print(isinstance(('192.168', 3389), tuple))
    print(isinstance({'192.168', 3389}, set))
    print(isinstance(1, int))
    print(isinstance(1.8, float))
    print(isinstance('str', str))
    print(isinstance(True, bool))
    print(isinstance({'abc': 456}, dict))

    print('子父类判断')
    print(isinstance(A(), A))  # returns True
    print(type(A()) == A)  # returns True
    print(isinstance(B(), A))  # returns True
    print(type(B()) == A)  # returns False

运行结果

使用type判断类型是否是需要的类型
list数组
<class 'list'>
<class 'tuple'>
<class 'set'>
<class 'int'>
<class 'float'>
<class 'str'>
<class 'bool'>
<class 'dict'>
使用isinstance判断类型是否是需要的类型
list数组
True
True
True
True
True
True
True
True
True
True
True
False

参考和感谢:https://www.py.cn/faq/python/12193.html

相关文章

网友评论

      本文标题:2021-04-02 python3判断变量类型

      本文链接:https://www.haomeiwen.com/subject/cehckltx.html