一、模块的定义
用来从逻辑上组织python代码(变量,函数,类,逻辑:实现一个功能)
本质就是.py结尾的Python文件(文件名test.py,对应的模块名:test)
包:用来从逻辑上组织模块的,本质是一个目录(必须带有一个__init__.py文件)
 
二、模块的导入
import module_name
import module1_name,module2_name
#相当于将module_name.py文件赋值给module_name
调用时:module_name.funcationname

from module_name import *
from module_name import 变量名/函数名
调用时,直接使用,不用加module_name前缀
此导入方式会引起函数名,变量名在原调用文件中的冲突
from module_name import  func_name/varname as  new_name
此方式可以避免上述重名冲突,使用时用new_name 调用

from . import module_name 从当前目录导入module_name
三、import的本质

导入模块的本质就是把Python文件解释一遍(import test======>test = 'test.py all code')
import module_name ------------>module_name.py------>module_name.py的路径----->sys.path
在sys.py这个列表里查找module_name,找不到抛出错误
 
 
导入包的本质就是解释(执行)该包下的__init__.py文件
import package_name  #run package_name下的__init__.py文件
 
4、导入优化
from module_name import  func_name/varname as  new_name
减少import的检索过程
相当于把模块module_name 下的func_name/varname 拿到当前执行一遍
 
5、模块的分类
a、标准库
b、开元模块
c、自定义模块
 
 
 
 
 

模块详解及import本质的更多相关文章

  1. 小白的Python之路 day5 python模块详解及import本质

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

  2. Python 模块详解及import本质

    同在当前目录下的模块和包导入 模块定义 本质就是.py结尾的python文件. 用来从逻辑上组织python代码(变量,函数,类,逻辑) 文件名: test.py;  对应的模块名 : test 模块 ...

  3. Python模块详解以及import本质,获得文件当前路径os.path.abspath,获得文件的父目录os.path.dirname,放到系统变量的第一位sys.path.insert(0,x)

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

  4. Python:模块详解及import本质

    转于:http://www.cnblogs.com/itfat/p/7481972.html 博主:东大网管 一.定义: 模块:用来从逻辑上组织python代码(变量,函数,类,逻辑:实现一个功能), ...

  5. Python中操作mysql的pymysql模块详解

    Python中操作mysql的pymysql模块详解 前言 pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同.但目前pymysql支持python3.x而后者不支持 ...

  6. python之OS模块详解

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

  7. python之sys模块详解

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

  8. python中threading模块详解(一)

    python中threading模块详解(一) 来源 http://blog.chinaunix.net/uid-27571599-id-3484048.html threading提供了一个比thr ...

  9. python time 模块详解

    Python中time模块详解 发表于2011年5月5日 12:58 a.m.    位于分类我爱Python 在平常的代码中,我们常常需要与时间打交道.在Python中,与时间处理有关的模块就包括: ...

随机推荐

  1. sublime插件-OmniMarkupPreviewer浏览器打开报404解决办法

    Sublime Text > Preferences > Package Settings > OmniMarkupPreviewer > Settings - Default ...

  2. BootStrap2学习日记23---弹出对话框

    <a href="#login" data-toggle="modal" class="btn btn-primary">登陆& ...

  3. HTML5与CSS3实例教程(第2版) 附源码 中文pdf扫描版

    HTML5和CSS3技术是目前整个网页的基础.<HTML5与CSS3实例教程(第2版)>共分3部分,集中讨论了HTML5和CSS3规范及其技术的使用方法.这一版全面讲解了最新的HTML5和 ...

  4. Codeforces - 1181B - Split a Number - 贪心

    https://codeforces.com/contest/1181/problem/B 从中间拆开然后用大数搞一波. 当时没想清楚奇偶是怎么弄,其实都可以,奇数长度字符串的中心就在len/2,偶数 ...

  5. Java8 使用 stream().sorted()对List集合进行排序

    集合对像定义 集合对象以学生类(StudentInfo)为例,有学生的基本信息,包括:姓名,性别,年龄,身高,生日几项. 使用stream().sorted()进行排序,需要该类实现 Comparab ...

  6. 3、kubernetes应用快速入门190625

    一.kubernetes应用入门 1.kubectl命令 Basic Commands create Create a resource from a file or from stdin. expo ...

  7. ldap第二天-yum安装LDAP + phpLDAPadmin

    1.安装LDAP服务器和客户端,migrationtools工具包 yum install -y openldap-servers openldap-clients migrationtools 2. ...

  8. js对输入文字个数的限制...

    发表留言或者微博的时候,对输入文字个数的限制,下面分两种情况,每种分别介绍两种实现方式: 第一种:一个汉字算一位,两个字母或符号算一位. 通过ASCII编码来判断 textarea.onkeyup = ...

  9. codeforces round 474 pathwalks

    题目传送门http://codeforces.com/contest/960/problem/F 4月25号期中考,答应过年级组长要考年排前3的,所以25号以前我就不搞竞赛了,期中考要考好. 有很多大 ...

  10. SVN服务器地址更换方法

    由于工作需要,已将SVN服务器从172.16.8.xxx上迁移至172.16.8.yyy上,SVN地址变为:https://172.16.8.yyy:8443/svn,原下载到客户端电脑的svn不需要 ...