回覆列表
  • 1 # 使用者4532147702961

    python 的切片語法傳入 __getitem__ 的引數有兩種, 第一種是普通整數或物件, 也就是直接寫 t[0], t["abc"] 這樣, 第二種是切片, 即 t[0: 1], t[:: -1] 這種. 對於後者, 實際引數 i 的型別將是一個 slice 物件.

    程式碼示例

    class Test(object):

    def __init__(self):

    self.tokens = []

    def __getitem__(self, i):

    if isinstance(i, slice):

    print "Slice object:", i

    return self.tokens[i.start: i.stop]

    else:

    print "Integer:", i

    return self.tokens[i]

    t = Test()

    t.tokens = range(10)

    t[0]

    t[1: 2]

  • 中秋節和大豐收的關聯?
  • 電腦檔案的字尾名各表示什麼型別的檔案?