在Python2.7中,使用MySQLdb包,我无法理解itemgetter()和数据库游标的execute()函数的以下行为:c.execute('SELECT 1+2') # could be any other valid query它将返回一个列表[3]。在游标调用map()或fetchall方法之前,map()和itemgetter()如何从数据库游标检索查询结果?
通常,函数名基于它做什么或它产生的结果的类型。 for x in iterable:sometype名称有误导性,因为该函数不返回命名类型的对象像iter_sometype或gen_sometype这样的名字感觉有点像。然而,它似乎也澄清了函数的意图。
更进一步,还有一些更特殊的情况,在这些情况下,前缀可能会有所帮助
下面的示例由给出
I in iter(obj):print(i) for I in obj: print(i)
在幕后,for语句调用容器对象上的iter()。函数返回一个迭代器对象,该对象定义方法__next__(),该方法每次访问容器中的元素。当没有更多的元素时,__next__()会引发一个StopIteration异常,它告诉for循环终止。考虑到这