Python对象

1. 自定义类型布尔值

自定义的类如果定义了__nonzero__()或者__len__()且值为0,那么它们的布尔值就是Flase

2. 对象比较

a is b
# equivalent to
id(a) == id(b)

3. 标准类型内建函数

  • type()
  • cmp()
  • str()
  • repr()
  • isinstance()

3.1 type()

得到一个对象的类型,并返回相应的type对象。

>>> type(1)
<type 'int'>
>>> type('Furzoom')
<type 'str'>
>>> type(type(1))
<type 'type'>
>>> 

3.2 cmp()

对于自定义类型,cmp()会调用__cmp__()函数。

>>> a,b=1,2
>>> cmp(a,b)
-1
>>> cmp(b,a)
1
>>> b=1
>>> cmp(a,b)
0
>>> a,b='abc','xyz'
>>> cmp(a,b)
-1
>>> cmp(b,a)
1
>>> b='abc'
>>> cmp(a,b)
0
>>> 

3.3 str() and repr()

通常情况下obj = eval(repr(obj))

repr()与反引号运算符得到的结果是一样的。

3.4 isinstance()

返回对应是否是某种类型。

>>> isinstance(3, int)
True

4. 类型工厂函数

  • int(), long(), float(), double()
  • str(), unicode(), basestring()
  • list(), tuple()
  • type()
  • dict()
  • bool()
  • set(), frozenset()
  • object()
  • classmethod()
  • staticmethod()
  • super()
  • property()
  • file()
作者:马 岩Furzoom) (http://www.cnblogs.com/furzoom/
版权声明:本文的版权归作者与博客园共同所有。转载时请在明显地方注明本文的详细链接,未经作者同意请不要删除此段声明,感谢您为保护知识产权做出的贡献。
原文地址:https://www.cnblogs.com/furzoom/p/7710249.html