黎子卿 发表于 2023-8-30 14:51:12

python代偿

以下是视频里面的一段代码:
class C:
    def __init__(self,data):
      self.data = data
    def __iter__(self):
      print("iter",end=" ->")
      self.i = 0
      return self
    def __next__(self):
      print("next",end="->")
      if self.i == len(self.data):
            raise StopIteration
      item = self.data
      self.i += 1
      return item
为什么C类里面没有定义__contains__魔法方法,就会认为是没有这个方法而引发代偿?类C不是继承自Object类吗,他自己没有__contains__方法,但是他父类object不是有吗?

isdkz 发表于 2023-8-30 15:25:51

你为什么会认为object存在__contains__方法?

dir(object) 或 "__contains__" in dir(object) 看一看

黎子卿 发表于 2023-8-30 15:40:10

isdkz 发表于 2023-8-30 15:25
你为什么会认为object存在__contains__方法?

dir(object) 或 "__contains__" in dir(object) 看一看

唉想当然了
页: [1]
查看完整版本: python代偿