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文件

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
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

猜你喜欢

转载自blog.csdn.net/sinat_38682860/article/details/108997315