python 3类型模块

Vol*_*nko 10 python python-3.x

我对python 2.X和python 3.X之间的区别有一点疑问.为什么在python 3类型模块中这么小?日Thnx

Python 2.7
>>> import types    
>>> print(len([i for i in dir(types) if not i.startswith('__')]))
37


Python 3.2
>>> import types    
>>> print(len([i for i in dir(types) if not i.startswith('__')]))
12
Run Code Online (Sandbox Code Playgroud)

ToB*_*ced 13

在Python 3.x中,types模块通过内置命名空间等更简单的方法删除了所有已经可访问的类型.例如,您将看到ListTypeIntType已被删除,因为您可以分别通过listint分别访问它们.

  • 在 python-dev 上对此进行了深入讨论。最初的目的是完全删除 types 模块,但事实证明这是不切实际的,因为没有很好的地方来放置一些剩余的类型(如 FunctionType)。以下是它最初计划删除的证据:http://wiki.python.org/moin/Python3.0 以下是一些 python-dev 讨论:http://mail.python.org/pipermail/python-dev/ 2007-11 月/075384.html http://mail.python.org/pipermail/python-dev/2007-11 月/075456.html (2认同)