python内建的类型:数值类型,序列,字典,文件,自定义类型,实例,异常等。

判断为False的条件

None
False
数值类型的值为0的,如:0,0L,0.0
空的序列,如:'',(),[]
空的map,如:{}
自定义类型的实例,如果类型定义了nonzero()或len()方法,并且方法返回0或False

Boolean操作

或:x or y
并:x and y
非:not x

比较操作

大小:<、<=、>、>=、==、!=
对象等价性:is、is not,即x is y 等价于 id(x) == id(y)

位操作

或:x | y
异或:x ^ y
并:x & y
非:~x
左移:x << n
右移:x >> n

迭代(Iterator)类型

python提供了容器的迭代器的概念,要成为迭代类型,总体上需要实现2个方法以支持迭代器的概念。

  1. 自定义类型需要定义iter()方法,返回一个iterator迭代对象。(迭代对象常常可以是自身,这样只需要再定义next()即可)
  2. __iter__()返回的对象要求支持两个函数:
    • iterator.__iter__():返回迭代器对象自身;
    • iterator.next():返回集合的下一项,没有更多项时,需要抛出StopIteration异常。

例如:

# vector自定义类型
class vector(object):
    def __init__(self, N, val):
        self.list = [val] * N
        self.pos = 0
 
    def __iter__(self):
        return self
 
    def next( self ):
        if self.pos >= len( self.list ):
            raise StopIteration
        else:
            val = self.list[ self.pos ]
            self.pos += 1
            return val
       
    def push_back(self, val):
        self.list.append(val)
 
# 测试:
v = vector( 3, 5 )
v.push_back(8)
for i in v:
    print i
 
# 输出:
# 5
# 5
# 5
# 8

其他内建类型如字符串、列表、字典等

内建函数

内建函数的官方文档:http://docs.python.org/library/functions.html