Python Python3中的__builtin__模块在哪里为什么要进行重命名

Python Python3中的builtin模块在哪里为什么要进行重命名

在本文中,我们将介绍Python3中的builtin模块的位置以及为什么它被重命名。

阅读更多:Python 教程

builtin模块简介

在Python2中,有一个名为builtin的内置模块。这个模块提供了许多内置函数、异常和其他工具,它们在整个Python解释器中使用。我们可以在Python2中直接访问和使用这个模块。

Python2中builtin的示例

下面是一些示例代码,展示了如何在Python2中使用builtin模块中的一些函数和异常:

import __builtin__

# 使用内置的函数
print(__builtin__.len([1, 2, 3]))  # 输出:3
print(__builtin__.sum([1, 2, 3]))  # 输出:6

# 使用内置的异常
try:
    __builtin__.int('abc')
except ValueError as e:
    print(e)  # 输出:invalid literal for int() with base 10: 'abc'

Python3中的变化

在Python3中,builtin模块已经被重命名为builtins。这个重命名的目的是为了更好地与Python的命名约定和规范一致。

Python3中builtins模块的示例

下面是一些示例代码,展示了如何在Python3中使用builtins模块中的一些函数和异常:

import builtins

# 使用内置的函数
print(builtins.len([1, 2, 3]))  # 输出:3
print(builtins.sum([1, 2, 3]))  # 输出:6

# 使用内置的异常
try:
    builtins.int('abc')
except ValueError as e:
    print(e)  # 输出:invalid literal for int() with base 10: 'abc'

为什么重命名为builtins?

Python3中将builtin模块重命名为builtins有以下几个原因:

  1. 统一的命名规范:在Python中,模块的命名一般都采用复数形式,所以将builtin命名为builtins更符合命名规范。

  2. 局部特殊变量:在Python3中,全局变量builtins变为了局部特殊变量builtins。使用局部特殊变量可以减少全局作用域中的名称冲突,提高代码的可读性和可维护性。

  3. 与Python2兼容性:重命名为builtins可以提高Python2到Python3的代码迁移的兼容性。这样可以避免在迁移过程中需要对builtin模块的引用进行手动修改。

总结

Python3中的builtin模块被重命名为builtins,以更好地符合Python的命名约定和规范。这个重命名还可以提高Python2到Python3的代码迁移的兼容性,并且使用局部特殊变量可以减少全局命名空间中的名称冲突。现在我们可以在Python3中直接使用builtins模块中的函数、异常和其他工具。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程