Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 迭代自我是一种糟糕的做法吗?_Python_Loops_Iterator - Fatal编程技术网

Python 迭代自我是一种糟糕的做法吗?

Python 迭代自我是一种糟糕的做法吗?,python,loops,iterator,Python,Loops,Iterator,我知道上面的“我在自己身上做什么”是多余的,但我想知道“我在自己身上做什么”是否被认为是一种不好的做法。如果这是一个糟糕的实践,并且我需要从同一个类中的另一个方法对self进行循环,那么我将如何实现它 没有。为什么会这样?定义\uuuu iter\uuuu的原因是为了在对象上迭代。我认为,当它已经存在时,重新实现它是一种不好的做法 以下是您描述的在(OrderedDict)中使用的行为示例 不,为什么会这样?定义\uuuu iter\uuuu的原因是为了在对象上迭代。我认为,当它已经存在时,重新

我知道上面的“我在自己身上做什么”是多余的,但我想知道“我在自己身上做什么”是否被认为是一种不好的做法。如果这是一个糟糕的实践,并且我需要从同一个类中的另一个方法对self进行循环,那么我将如何实现它

没有。为什么会这样?定义
\uuuu iter\uuuu
的原因是为了在对象上迭代。我认为,当它已经存在时,重新实现它是一种不好的做法

以下是您描述的在(
OrderedDict
)中使用的行为示例


不,为什么会这样?定义
\uuuu iter\uuuu
的原因是为了在对象上迭代。我认为,当它已经存在时,重新实现它是一种不好的做法

以下是您描述的在(
OrderedDict
)中使用的行为示例


\uuuu iter\uuuu
中的循环将引发
值错误:没有足够的参数来解包
。除非你在self.data.items()中对k,v说
,否则在self.data.items()中循环self.data只会给你钥匙。
我的错,我的意思是
对于key,val对于self.data.items()
中的循环会产生
值错误:没有足够的参数来解压
。循环使用
self.data
将只提供键,除非您在self.data.items()中对k,v说
我的错,我的意思是
在self.data.items()中对key,val说
class Data:
    def __init__(self, dictionary):
        self.data = dictionary

    def __iter__(self):
        for key,val in self.data.items():
            yield (key, val)

    def iter_on_self(self):
        for i in self:
            yield i
def __reduce__(self):
    'Return state information for pickling'
    items = [[k, self[k]] for k in self]
    tmp = self.__map, self.__root
    del self.__map, self.__root
    inst_dict = vars(self).copy()
    self.__map, self.__root = tmp
    if inst_dict:
        return (self.__class__, (items,), inst_dict)
    return self.__class__, (items,)