【问题标题】:enter a list into a class can't get object out将列表输入到类中无法取出对象
【发布时间】:2015-03-22 19:19:00
【问题描述】:

我有一堂课:

class Cycle:
    def __init__(self, datalist):
        self.data = datalist[::]
        self.n = len(self.data)
        self.pointer = 0

然后我导入一个列表对象:

months = Cycle(['JAN', 'FEB', 'MAR', 'APR', 'MAY', 'JUN', 'JUL', 'AUG', 'SEP', 'OCT', 'NOV', 'DEC'])

但我什么也说不出来:

'APR' in months

TypeError: 'Cycle' 类型的参数不可迭代

我怎样才能做到这一点?抱歉,刚学Python。任何帮助将不胜感激!

【问题讨论】:

    标签: python class


    【解决方案1】:

    您需要使用特殊的 contains 方法扩展您的类:

    class Cycle:
        def __init__(self, datalist):
            # initializer contents here
    
        def __contains__(self, item):
            return item in self.data
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-12
      • 1970-01-01
      • 2012-10-30
      相关资源
      最近更新 更多