python的builtins模块

builtins模块详解

1.简介

builtins是python的内建模块,所谓内建模块就是你在使用时不需要import,在python启
动后,在没有执行程序员编写的任何代码前,python会加载内建模块中的函数到内存中。比如经常
使用的abs(),str(),type()等。在python2.x中这个模块叫做__builtin__.如果你需要向内建模块中添加自己的函数,则必须import builtins(在__main__模块中可以直接通过__builtins__添加函数,不需要import builtins)。

2.builtins与__builtins__的区别

__builtins__是对builtins的一个引用。在任何地方使用builtins都必须import,
而使用__builtins__则不需要import。那这个引用指的是什么呢?下面分两种情况来解释:

  • 在__main__模块中
    在__main__中__builtins__builtins是同一个东西,你可以通过这两个中的任意一个来
    导入自己的函数。两者唯一的区别是__builtins__使用时不需要导入,而无论在那个模块中使
    builtins都必须先导入。
    file:///D:/%E7%AC%94%E8%AE%B0/builtins/1.png

  • 在非__main__模块中
    __builtins__是对builtins__dict__的引用,而不是builtins本身。下面
    test.py文件

    import builtins
    def printTest():
     print(__builtins__ is builtins)
     print(__builtins__ is builtins.__dict__)
     print(type(__builtins__))
    
    printTest()
    

    运行结果为:
    file:///D:/%E7%AC%94%E8%AE%B0/builtins/2.png

    再来一个test2.py文件,test2.py import test.py
    import test

    test.printTest()
    

file:///D:/%E7%AC%94%E8%AE%B0/builtins/3.png

原文地址:https://www.cnblogs.com/Mrfanl/p/10198174.html