是'dict',是的。然后给出<type'dict'=“”>?</type>

时间:2011-12-19 04:13:49

标签: python types

>>> flob = {u'': [u''], u'DL': [u'DL'], u'Gender': [u'Both Sexes'], u'SQ': [u'SQ'], u'BP': [u'BP'], u'Location': [u'World Wide']}

>>> flob is dict

False

>>> flob == dict

False

>>> type(flob)

<type 'dict'>

我问它是否类型dict,它说错误。我问它是什么类型,它说dict。为什么呢?

3 个答案:

答案 0 :(得分:7)

因为您正在比较对象本身,dict的实例与dict ......这两件事是不同的实体。 is用于确定两个变量名是否指向同一个对象。

 type({}) is dict  # returns true.

 a = {}
 b = a
 a is b  # returns true

答案 1 :(得分:3)

使用

is身份比较。请参阅下面的提示 - id返回对象的内存位置,id(a) == id(b)类似于a is b。对于类型检查(应谨慎使用),您需要isinstance

>>> flob = {u'': [u''], u'DL': [u'DL'], u'Gender': [u'Both Sexes'], u'SQ': [u'SQ'], u'BP': [u'BP'], u'Location': [u'World Wide']}
>>> id(flob)
17665920
>>> id(dict)
8678496
>>> id(flob) == id(dict)
False
>>> type(flob) == dict
True
>>> isinstance(flob, dict)
True

答案 2 :(得分:2)

这种橘子一般与橙子的概念相同吗?

这个橘子的价值是否与橘子的概念相等?

这种橙子是什么东西?