Python:为什么不是';";下一步();称为__下一步;

Python:为什么不是';";下一步();称为__下一步;,python,naming-conventions,Python,Naming Conventions,我正在使用Python 2.7 按照惯例,内置方法如\uuuuuu iter\uuuuuu、\uuuu init\uuuuu、\uuuuu str\uuuuu等都有双下划线来标识它们。为什么next()函数没有这个功能 它与其他内置函数并驾齐驱:这似乎不是一个非常一致的约定。内置函数没有\uuu,因为没有内置函数。您将内置(如str)与特殊方法(如\uuuuuu-str\uuuuu)混淆 现在内置的next调用的特殊方法在Python2.7中也被称为next,但是这个命名被认为是一个意外事件,在

我正在使用Python 2.7

按照惯例,内置方法如
\uuuuuu iter\uuuuuu
\uuuu init\uuuuu
\uuuuu str\uuuuu
等都有双下划线来标识它们。为什么
next()
函数没有这个功能


它与其他内置函数并驾齐驱:这似乎不是一个非常一致的约定。

内置函数没有
\uuu
,因为没有内置函数。您将内置(如
str
)与特殊方法(如
\uuuuuu-str\uuuuu
)混淆


现在内置的
next
调用的特殊方法在Python2.7中也被称为
next
,但是这个命名被认为是一个意外事件,在Python3中被改为
\uuuuuuuuu
。并且仍然存在向后兼容性。发件人:

Python3引入了next()函数来替换上的next()方法 迭代器对象。而不是在迭代器上调用该方法 调用next()函数时,将iterable对象作为其唯一对象 参数,它调用底层的
\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu


我明白了,这一点从到的文档更改中可以明显看出