zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    如何卸载VS 2017之前版本比如VS 2013、VS2015、 VS vNext?
    在SQL Server中如何进行UPDATE TOP .....ORDER BY?
    EntityFramework 6.x和EntityFramework Core插入数据探讨
    2017-2018:时间戳
    http协议进阶(六)代理
    认清性能问题
    <转>安全测试思维导图
    RESTful API浅谈
    http协议进阶(五)连接管理
    聊聊软件测试的职业规划
  • 原文地址:https://www.cnblogs.com/Mrfanl/p/10198174.html
Copyright © 2011-2022 走看看