1.内建模块:

在Python中,有一个内建模块,该模块中有一些常用函数;而该模块在Python启动后、且没有执行程序员所写的任何代码前,Python会首先加载该内建函数到内存。另外,该内建模块中的功能可以直接使用,不用在其前添加内建模块前缀,其原因是对函数、变量、类等标识符的查找是按LE(N)GB法则,其中B即代表内建模块。比如:内建模块中有一个abs()函数,其功能是计算一个数的绝对值,如abs(-20)将返回20。

2.在Python2.X版本中,内建模块被命名为__builtin__,而到了Python3.X版本中,却更名为builtins。

3.

当使用内建模块中函数或其它功能时,可以直接使用,不用添加内建模块的名字;但是,如果想要向内建模块中添加一些功能,以便在任何函数中都能直接使用而不用再进行import,这时,就要导入内建模块,在内建模块的命名空间(即__dict__字典属性)中添加该功能。在导入时,如果是Python2.X版本,就要导入__builtin__模块;如果是Python3.X版本,就要导入builtins模块。如:在Python2.X中,向内建模块添加一个函数(该函数打印“hello, world”),可以这样写(以下的用法是在主模块中的使用,其它模块请看下面):

import __builtin__

def print_hello():

print "hello, world"

__builtin__.__dict__['hello'] = print_hello

print_hello() # 将打印"hello, world"

hello() # 将打印"hello, world"

此时,print_hello和hello两个函数名几乎是一样,但是有一点区别,print_hello只能在该模块中使用,而hello可以在本程序中的其它任何一个模块中使用,因为hello已经放到内建模块中了。

4.

__builtins__,它却同时存在于Python2.X和Python3.X中。那么它到底是什么东西呢?由名字可知,它肯定与内建模块有关。其实简单地说,它就是对内建模块一个引用。

(1)  __builtins__在任何地方、任何模块都可见,而内建模块名只在相应的作用域中被import后才可以(该import并不是把内建模块加载到内存中——内建早已经被加载了,它仅仅是让内建模块名在该作用域中可见)。

(2)

1】 在主模块__main__中:

__builtins__是对内建模块__builtin__本身的引用,即__builtins__完全等价于__builtin__,二者完全是一个东西,不分彼此。它在任何地方都可见,即在任何地方都可使用它。此时,__builtins__的类型是模块类型。

__builtin__仅仅在导入它时才可见。哪个作用域中使用__builtin__,哪个作用域就要导入它(导入仅仅是让__builitin__标识符在该作用域内可见)。一般都是在模块的顶层(即模块的全局作用域)导入__builtin__,这样,其后的任何作用域可通过标识符向上查找来引用__builtin__。

2】在非__main__模块中:

__builtins__仅是对__builtin__.__dict__的引用,而非__builtin__本身。它在任何地方都可见。此时__builtins__的类型是字典。

参考资料:http://www.52ij.com/jishu/665.html

python内建模块_Python 内建模块相关推荐

  1. python的shutil模块是内置的_Python之shutil模块11个常用函数详解,python内置函数是什么...

    Python之shutil模块11个常用函数详解,python内置函数是什么 shutil 是 Python 中的高级文件操作模块,与os模块形成互补的关系,os主要提供了文件或文件夹的新建.删除.查 ...

  2. python必学的模块_Python常用的模块

    模块和包 1.1模块介绍模块定义:一系列功能的集合体 模块使用: import导入模块 或者 from ... import... 导入模块 模块分类:内置模块 自定义模块 第三方模块 模块加载顺序: ...

  3. python的主要应用领域及常用的函数模块_python之常用模块篇5

    一.日志模块,logging模块 1)logging模块简单使用,屏幕输出.默认级别30 import logging logging.debug('debug...') # 10logging.in ...

  4. python写日志文件_Python logging日志模块 配置文件方式

    在一些微服务或web服务中我们难免需要日志功能,用来记录一些用户的登录记录,操作记录,以及一些程序的崩溃定位,执行访问定位等等; Python内置 非常强大的日志模块 ==> logging 今 ...

  5. python中re模块_python之re模块

    python 中使用正则表达式需要引入re模块,用来匹配处理字符串 如: import re #第一步,要引入re模块 a = re.findall("匹配规则", "要 ...

  6. python怎么导入数学模块_python怎么导入模块

    python中的模块即.py文件,模块的导入方式通常有两种:1是直接使用import语句导入:2是使用from..import..结构引入. 使用 import 导入模块的语法,但实际上 import ...

  7. 在python中、使用( )语句导入模块_Python import导入模块

    python中的import语句是用来导入模块的,在python模块库中有着大量的模块可供使用,要想使用这些文件需要用import语句把指定模块导入到当前程序中. import语句作用 import语 ...

  8. 简述python中怎样导入模块_Python中导入模块的两种模式,import

    import import pandas import pandas as pd 使用函数方式:.(),或者.() 比如 pandas.read_csv("data/stock.csv&qu ...

  9. python里的os模块_python中os模块再回顾

    先看下我的文件目录结构 F:\PYTHON项目\ATM购物车\7月28 在此目录下的文件如下: 封装.py 模块os.sys复习.py 运行当前的文件是模块os.sys复习.py 1.获取当前文件所在 ...

最新文章

  1. 逃课上网吧编程、玩摇滚的另类学生,如何成为独角兽公司的 CTO?
  2. Visual C++ 对话框增加菜单栏
  3. Visio中插入mathtype公式,解决直线交叉弯曲的问题
  4. java仿聊天室项目总结_Java团队课程设计-socket聊天室(个人总结)
  5. 【线段树 集合hash】bzoj4373: 算术天才⑨与等差数列
  6. 计算机应用基础知识点提纲,计算机应用基础复习提纲
  7. Chapter 5 Exercises Problems
  8. SQL语句inner join,left join ,right join连接的不同之处
  9. Meteor:用户账号管理添加密码和微博weibo账号系统支持
  10. CAsyncSocket使用总结
  11. 允许远程访问MySQL的设置
  12. 【前端基础】DOM对象
  13. Atitit 账号实名制验证等制度和手段 1. 实名制 - 身份证明的一种制度 免费编辑 修改义项名 1 1.1. 匿名制优缺点 2 1.2. 而实名制的弊端缺点是可影响信息安全,造成信息或隐私泄露。
  14. phpcms的phpcms_auth导致的任意变量覆盖漏洞、本地文件包含漏洞和任意文件下载漏洞...
  15. VHDL:基于 FPGA 实时处理的双目测距系统
  16. 累计独立访客(UV)不低于 1000是什么意思?如何查看自己小程序的UV数量?
  17. C语言醉酒,驾驶人在道路上饮酒醉酒驾驶机动车处3年以上有期徒刑
  18. 1076: 三位数求解-python
  19. 第12篇:给任意java程序挂Socks5代理方法
  20. 网页服务器怎么做链接,如何做网页超级链接

热门文章

  1. 构建服务器_如何使用无服务器构建完整的后端系统
  2. os系统好用的学术笔记软件_可靠软件系统的设计方法:学术文章摘要
  3. SAS在金融中的应用四
  4. 远程桌面连接一个域网的计算机,怎样远程控制局域网的另一台电脑(远程桌面)win10...
  5. Python钉钉报警及Zabbix集成钉钉报警
  6. Python | 常见的反爬及解决方法,值得收藏
  7. python用线性回归预测股票价格
  8. Python高级——用多线程实现UDP聊天器
  9. 一文搞定 Hive 表分隔符
  10. Python类方法和静态方法