我不了解Python文档的以下部分:
http://docs.python.org/reference/expressions.html#slicings
这是指列表切片(x=[1,2,3,4]; x[0:2])..吗?特别是省略号部分。
x=[1,2,3,4]; x[0:2]
slice_item ::= expression | proper_slice | ellipsis
作为表达式的切片项的转换就是该表达式。省略号切片项目的转换是内置的Ellipsis对象。
定义只显示正在传递的内容的简单测试类:
>>> class TestGetitem(object): ... def __getitem__(self, item): ... print type(item), item ... >>> t = TestGetitem()
表达式示例:
>>> t[1] <type 'int'> 1 >>> t[3-2] <type 'int'> 1 >>> t['test'] <type 'str'> test >>> t[t] <class '__main__.TestGetitem'> <__main__.TestGetitem object at 0xb7e9bc4c>
切片示例:
>>> t[1:2] <type 'slice'> slice(1, 2, None) >>> t[1:'this':t] <type 'slice'> slice(1, 'this', <__main__.TestGetitem object at 0xb7e9bc4c>)
省略号示例:
>>> t[...] <type 'ellipsis'> Ellipsis
带省略号和切片的元组:
>>> t[...,1:] <type 'tuple'> (Ellipsis, slice(1, None, None))