import本质?

1定义:

    模块:用来从逻辑上组织python代码(变量,函数,类,逻辑:实现一个功能,本质上是一个.py结尾的python文件)(文件:text.py 对应的模块名:text)

    包:用来组织逻辑上组织模块的,本质就是一个目录。一个目录里面有一个__init__.py 文件。

2,导入方法:

  import module_name  

  import module_name,mudule_name2   (导入多个)

  form module_name import *   导入模块的所有内容

  form module_name import m1.m2.m3    (多个)

  form module_name import logger as logger_name   (用as别名防止导入模块名相同)

3,import本质(路径搜索,和搜索路径)

  导入模块的本质就是把python文件解释一遍(把所有的代码都赋值给模块名,根据模块名点想导入的内容)

                 form导包本质 (打开一个文件模块,执行你要导入的内容,用法直接用)

  导入包的本质就是执行该包下的__init__文件

4,导入优化

  关于优化,

      尽量少用  * 

      尽量用form

补充:
  不在一个目录可以用:
   import sys,os

   path=os.path.dirname(os.path.dirname(os,path.abspath(__file__)))

   os.path.appent(path)
   

  

import的本质的更多相关文章

  1. 模块详解及import本质

    一.模块的定义 用来从逻辑上组织python代码(变量,函数,类,逻辑:实现一个功能) 本质就是.py结尾的Python文件(文件名test.py,对应的模块名:test) 包:用来从逻辑上组织模块的 ...

  2. 引入CSS的方式有哪些?link和@import的有何区别应如何选择【转载】

    看到淘宝网页中这样写使用的是import,而很多网站都是使用link,当然还有一些页面比较简单,流量很大的网站,是直接将CSS写在html代码中的?他们有什么区别?CSS用import还是link好? ...

  3. Python中import机制

    Python语言中import的使用很简单,直接使用import module_name语句导入即可.这里我主要写一下"import"的本质. Python官方定义:Python ...

  4. 【Python实战】模块和包导入详解(import)

    1.模块(module) 1.1 模块定义 通常模块为一个.py文件,其他可作为module的文件类型还有".pyo".".pyc".".pyd&qu ...

  5. require和import区别

    遵循的模块化规范不一样 模块化规范:即为 JavaScript 提供一种模块编写.模块依赖和模块运行的方案.谁让最初的 JavaScript 是那么的裸奔呢——全局变量就是它的模块化规范. requi ...

  6. JS require and import

    作者:寸志链接:https://www.zhihu.com/question/56820346/answer/150724784来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明 ...

  7. require/exports 与 import/export 的区别?

    文章作者:寸志链接:https://www.zhihu.com/question/56820346/answer/150724784来源:知乎 遵循的模块化规范不一样 模块化规范:即为 JavaScr ...

  8. require,import区别

    链接:https://www.zhihu.com/question/56820346 遵循的模块化规范不一样 模块化规范:即为 JavaScript 提供一种模块编写.模块依赖和模块运行的方案.谁让最 ...

  9. Python 模块化 import 语句介绍(一)

    用法: import 模块1[,模块2,模块3...] os 顶级模块os.path 非顶级模块as 相当于重命名 import 的本质: 解释器负责模块单独加载,单独初始化,生成一个模块对象,当前作 ...

随机推荐

  1. 隐藏Nginx、Apache、PHP的版本号

    Nginx: 在nginx配置文件nginx.conf中,加入以下代码: server_tokens off; Apache: 在apache配置文件httpd.conf中,加入以下代码: Serve ...

  2. shuffle 打乱一维数组

    <?php $arr = range(,); print_r($arr); echo '<br />'; shuffle($arr); print_r($arr); ?> Ar ...

  3. 【Leetcode_easy】717. 1-bit and 2-bit Characters

    problem 717. 1-bit and 2-bit Characters 题意:solution1: class Solution { public: bool isOneBitCharacte ...

  4. charles 工具菜单总结

    本文参考:charles 工具菜单总结 主要是下面的功能,具体可以点击对应菜单查看 工具菜单总结 禁用缓存 禁用Cookies 远程映射到URL地址 映射到本地 重写工具 黑名单 白名单 DNS欺骗 ...

  5. 【C/C++开发】C++ Thread对象封装

    Pthread库是posix linux的线程库,调用接口如下,我们模仿JDK,对Thread进行封装,具体的业务逻辑只需要如同Thread一样实现run方法即可. 线程操纵函数(简介起见,省略参数) ...

  6. 扩展方法和Enumerable

    .NET中扩展方法和Enumerable(System.Linq) LINQ是我最喜欢的功能之一,程序中到处是data.Where(x=x>5).Select(x)等等的代码,她使代码看起来更好 ...

  7. 在vue中使用axios发送post请求,参数方式

    由于后台接收的参数格式为FormData格式, 在axios中参数格式默认为, 在传参数前,将原先官方提供的格式 改为如下: axios({ url: '../../../room/listRoomP ...

  8. webkit浏览器下改变滚动条样式

    /*定义滚动条轨道 内阴影+圆角*/ ::-webkit-scrollbar-track { -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3); ba ...

  9. PAT甲级 二叉树 相关题_C++题解

    二叉树 PAT (Advanced Level) Practice 二叉树 相关题 目录 <算法笔记> 重点摘要 1020 Tree Traversals (25) 1086 Tree T ...

  10. 跟我一起学编程—《Scratch编程》第21课:打地鼠

    能够熟练创建并使用变量 能够熟练使用“广播”和侦测指令 能够熟练绘制角色和背景造型 能够熟练使用循环.选择等程序指令 任务描述: 绘制有6个地洞的背景:绘制锤子的两个造型:绘制地鼠的造型. 游戏开始后 ...