python类型判断的函数_初窥Python(四)——三种方法判断python变量类型

python是动态语言,定义变量时不用指定变量类型,在代码执行过程中,会根据变量的值确定变量类型。python中常用的变量类型有int float long bool str list tuple set dict等,变量类型的判断常借助于types库及内置的type(object)和isinstance(object,class-or-type-or-tuple)方法,下面分别来看一下如何通过这些方法进行变量类型的判断。

1. 使用types库结合type(object):

python中有一个内置的库types,该库中有一系列type类型的常量,如types.IntType为int类型,types.StringType为str类型,使用该库结合内置的type(object)函数进行比较可以判断变量类型:import types

myInt = 1

myFloat = 1.1

myLong = 11111111111

myBool = True

myStr = "teststring"

myList = [1, 2]

myTuple = (1, 2)

mySet = set([1, 2])

myDict = {"name":"Lucy", "sex": "female"}

# 检测类型

type(myInt) is types.IntType

type(myFloat) is types.FloatType

type(myLong) is types.LongType

type(myBool) is types.BooleanType

type(myStr) is types.String

type(myList) is types.ListType

type(myTuple) is types.TupleType

# types库中没有对应的set类型,set可通过之后的方法进行判断

type(myDict) is types.DictType

2. 使用type(object):

为了方便起见,也可以不借助于types包,直接使用内置的type(object)方法与已知数据类型进行比较来判断变量数据类型:type(myInt) is type(1)

type(myFloat) is type(.1)

type(myLong) is type(1111111111111)

type(myBool) is type(True)

type(myStr) is type("a")

type(myList) is type([1])

type(myTuple) is type((1,))

type(mySet) is type(set([1]))

type(myDict) is type({1:2})

3. 使用isinstance(object, class-or-type-or-tuple):

内置的isinstance(object, class-or-type-or-tuple)也可以用来判断变量类型,返回一个布尔值:isinstance(myInt, int)

isinstance(myFloat, float)

isinstance(myLong, float)

isinstance(myBool, bool)

isinstance(myStr, str)

isinstance(myList, list)

isinstance(myTuple, tuple)

isinstance(mySet, set)

isinstance(myDict, dict)

# 第二个参数使用tuple类型

isinstance(myDict, (list, tuple, set, dict))

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值