dongnan
总版主
总版主
  • 粉丝52
  • 发帖数2198
  • 铜币14034枚
  • 威望6091点
  • 银元155个
  • 社区居民
  • 最爱沙发
  • 忠实会员
  • 喜欢达人
  • 原创写手
阅读:273回复:0

如何判断 python 变量的类型?

楼主#
更多 发布于:2019-03-20 14:48
两种方式

1. 使用 type 函数
# 字符串
>>> s1 = 'dongnan'
>>> type(s1)
<class 'str'>

# 字节
>>> s2 = s1.encode()
>>> type(s2)
<class 'bytes'>

2. 使用 isinstance 函数
# 除了使用 type()函数 判断类型外,还可以使用 isinstance() 函数。
>>> isinstance(s1, str)
True
>>> isinstance(s2, bytes)
True

# 特别是,判断变量是某些类型中的一种,非常有效。
>>> isinstance(s1, (str,bytes))
True

#其它类型
# 列表
>>> isinstance([],list)
True

# 元组
>>> t1 = ('87fb7182326344a25c31e8df2598bab0', 404, 'Not Found', '')
>>> isinstance(t1,tuple)
True

# 字典
>>> d1 = {'file-type': 'file', 'file-date': '1551853608', 'file-size': '73589'}
>>> isinstance(d1,dict)
True

# 布尔
>>> isinstance(True, bool)
True


扩展: isinstance() 函数
1. 功能
此函数,用来判断一个对象是否是一个已知的类型,类似 type()。
isinstance() 与 type() 区别
    type() 不会认为子类是一种父类类型,不考虑继承关系。
    isinstance() 会认为子类是一种父类类型,考虑继承关系
    如果要判断两个类型是否相同推荐使用 isinstance()。

2. 语法
    isinstance(object, classinfo)

3. 参数
    object -- 实例对象。
    classinfo -- 可以是直接或间接类名、基本类型或者由它们组成的元组。

4. 返回值
    如果对象的类型与参数二的类型(classinfo)相同则返回 True,否则返回 False。。

#
欢迎关注微信公众号: 运维录
游客

返回顶部