python内建模块_Python 内建模块
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 内建模块相关推荐
- python的shutil模块是内置的_Python之shutil模块11个常用函数详解,python内置函数是什么...
Python之shutil模块11个常用函数详解,python内置函数是什么 shutil 是 Python 中的高级文件操作模块,与os模块形成互补的关系,os主要提供了文件或文件夹的新建.删除.查 ...
- python必学的模块_Python常用的模块
模块和包 1.1模块介绍模块定义:一系列功能的集合体 模块使用: import导入模块 或者 from ... import... 导入模块 模块分类:内置模块 自定义模块 第三方模块 模块加载顺序: ...
- python的主要应用领域及常用的函数模块_python之常用模块篇5
一.日志模块,logging模块 1)logging模块简单使用,屏幕输出.默认级别30 import logging logging.debug('debug...') # 10logging.in ...
- python写日志文件_Python logging日志模块 配置文件方式
在一些微服务或web服务中我们难免需要日志功能,用来记录一些用户的登录记录,操作记录,以及一些程序的崩溃定位,执行访问定位等等; Python内置 非常强大的日志模块 ==> logging 今 ...
- python中re模块_python之re模块
python 中使用正则表达式需要引入re模块,用来匹配处理字符串 如: import re #第一步,要引入re模块 a = re.findall("匹配规则", "要 ...
- python怎么导入数学模块_python怎么导入模块
python中的模块即.py文件,模块的导入方式通常有两种:1是直接使用import语句导入:2是使用from..import..结构引入. 使用 import 导入模块的语法,但实际上 import ...
- 在python中、使用( )语句导入模块_Python import导入模块
python中的import语句是用来导入模块的,在python模块库中有着大量的模块可供使用,要想使用这些文件需要用import语句把指定模块导入到当前程序中. import语句作用 import语 ...
- 简述python中怎样导入模块_Python中导入模块的两种模式,import
import import pandas import pandas as pd 使用函数方式:.(),或者.() 比如 pandas.read_csv("data/stock.csv&qu ...
- python里的os模块_python中os模块再回顾
先看下我的文件目录结构 F:\PYTHON项目\ATM购物车\7月28 在此目录下的文件如下: 封装.py 模块os.sys复习.py 运行当前的文件是模块os.sys复习.py 1.获取当前文件所在 ...
最新文章
- 逃课上网吧编程、玩摇滚的另类学生,如何成为独角兽公司的 CTO?
- Visual C++ 对话框增加菜单栏
- Visio中插入mathtype公式,解决直线交叉弯曲的问题
- java仿聊天室项目总结_Java团队课程设计-socket聊天室(个人总结)
- 【线段树 集合hash】bzoj4373: 算术天才⑨与等差数列
- 计算机应用基础知识点提纲,计算机应用基础复习提纲
- Chapter 5 Exercises Problems
- SQL语句inner join,left join ,right join连接的不同之处
- Meteor:用户账号管理添加密码和微博weibo账号系统支持
- CAsyncSocket使用总结
- 允许远程访问MySQL的设置
- 【前端基础】DOM对象
- Atitit 账号实名制验证等制度和手段 1. 实名制 - 身份证明的一种制度 免费编辑 修改义项名	1 1.1. 匿名制优缺点	2 1.2. 而实名制的弊端缺点是可影响信息安全,造成信息或隐私泄露。
- phpcms的phpcms_auth导致的任意变量覆盖漏洞、本地文件包含漏洞和任意文件下载漏洞...
- VHDL:基于 FPGA 实时处理的双目测距系统
- 累计独立访客(UV)不低于 1000是什么意思?如何查看自己小程序的UV数量?
- C语言醉酒,驾驶人在道路上饮酒醉酒驾驶机动车处3年以上有期徒刑
- 1076: 三位数求解-python
- 第12篇:给任意java程序挂Socks5代理方法
- 网页服务器怎么做链接,如何做网页超级链接