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

python的builtins模块的更多相关文章

  1. python附录-builtins.py模块str类源码(含str官方文档链接)

    python附录-builtins.py模块str类源码 str官方文档链接:https://docs.python.org/3/library/stdtypes.html#text-sequence ...

  2. 二. python函数与模块

    第四章.内置函数与装饰器详解 1.内置函数补充1 注:红色圆圈:必会:  紫红色方框:熟练:   绿色:了解 callable() 判断函数是否可以被调用执行 def f1(): pass f1() ...

  3. python基础-7模块,第三方模块安装方法,使用方法。sys.path os sys time datetime hashlib pickle json requests xml

    模块,用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合.而对于一个复杂的功能来,可能需要多个函数才 ...

  4. Python中sys模块

    Python的sys模块提供访问解释器使用或维护的变量,和与解释器进行交互的函数.通俗来讲,sys模块负责程序与python解释器的交互,提供了一系列的函数和变量,用于操控python运行时的环境. ...

  5. python之platform模块

    python之platform模块 ^_^第三个模块从天而降喽!! 函数列表 platform.system() 获取操作系统类型,windows.linux等 platform.platform() ...

  6. python之OS模块详解

    python之OS模块详解 ^_^,步入第二个模块世界----->OS 常见函数列表 os.sep:取代操作系统特定的路径分隔符 os.name:指示你正在使用的工作平台.比如对于Windows ...

  7. python之sys模块详解

    python之sys模块详解 sys模块功能多,我们这里介绍一些比较实用的功能,相信你会喜欢的,和我一起走进python的模块吧! sys模块的常见函数列表 sys.argv: 实现从程序外部向程序传 ...

  8. 学习PYTHON之路, DAY 6 - PYTHON 基础 6 (模块)

    一 安装,导入模块 安装: pip3 install 模块名称 导入: import module from module.xx.xx import xx from module.xx.xx impo ...

  9. linux下python调用c模块

    在C调用Python模块时需要初始化Python解释器,导入模块等,但Python调用C模块却比较简单,下面还是以helloWorld.c 和 main.py 做一说明:   (1)编写C代码,hel ...

随机推荐

  1. TFS(Visual Studio Team Services) git认证失败 authentication fails 的解决方案

    问题描述 TFS 在visual studio中使用正常,可是git pull运行失败,提示 authentication fails. 初步判断原因为默认的 credential.helper 与 ...

  2. Go 笔记和疑问?

    前言: 本文是学习<<go语言程序设计>> -- 清华大学出版社(王鹏 编著) 的2014年1月第一版 做的一些笔记 , 如有侵权, 请告知笔者, 将在24小时内删除, 转载请 ...

  3. HDU 4714 Tree2cycle (树形DP)

    题意:给定一棵树,断开一条边或者接上一条边都要花费 1,问你花费最少把这棵树就成一个环. 析:树形DP,想一想,要想把一棵树变成一个环,那么就要把一些枝枝叶叶都换掉,对于一个分叉是大于等于2的我们一定 ...

  4. SpringMVC错误集中营

    1.eclipse里的错误提示为The import javax.servlet.http.HttpServletRequest cannot be resolved 1.这是因为工程里面web-in ...

  5. Eclipse快捷键和练习题(倒叙,排序)

    1    快捷键 内容辅助键  Alt+/ 自动补齐main方法  main 然后 Alt+/ 自动补齐输出语句  syso 然后 Alt+/ 格式化Ctrl+Shift+f 代码区域右键 -- So ...

  6. java文件流操作

    package common; import java.io.*;import java.math.BigDecimal;import java.util.ArrayList;import java. ...

  7. C++派生类在构造和析构过程中做的事

    (一)构造时: (1)首先调用继承关系中第一个基类(最靠左边的)的构造函数,然后第二个,第三个,以此类推 (2)然后调用成员对象的构造函数,这个顺序按照定义的顺序,与构造函数初始化列表的顺序无关. ( ...

  8. window.open之postMessage传参数

    这次要实现一个window.open打开子视窗的同时传参数到子视窗,关闭的时候返回参数. 当然简单的做法非常简单,直接在window.open的URL之后接参数即可,但是毕竟get method的参数 ...

  9. C# 异常日志记录

    using System;using System.Collections.Generic;using System.IO;using System.Linq;using System.Web; na ...

  10. Spring Cloud使用总结

    本文来自网易云社区,转载务必请注明出处. Spring Cloud 是spring团队推出的基于SpringBoot的分布式微服务框架,为开发者提供了在分布式系统(如配置管理.服务发现.断路器.智能路 ...