目录


一、模块初识

模块是自我包含并且有组织的代码片段,是一系列功能的集合体,一个py文件就是一个模板,文件名就是死模块的名字加上扩展名.py,包含了Python对象定义和Python语句。模块帮助我们有逻辑地组织代码,把相关的功能放在一个模块里,方便 阅读,调用。

一个名称空间就是一个从名称到对象的关系映射集合。每个名称空间都是自我包含的单元。

完整授权名称(fully qualified name):通过句点属性标识指定各自的名称空间,防止名称冲突。

二、模块分类

  1.python写的py文件

  2.已被编译成共享库或DLL的C或C++扩展

  3.把一系列模板组织到一起的文件夹

  4.用C编写并连接到python解释器的内置模块

三、导入模块

模块中包含的可执行语句与函数的定义,这些语句的目的是初始化模块,它们只在模块名第一次遇到import语句时才执行。import语句是可以在程序的任意位置使用的,且针对同一个模块很多次import很多次,但是第一次导入后就将模块名加载到内存,后续再导入就是给已经加载到内存中的模块对象增加引用,不会重新执行模块内的语句。

在sys.path中我们可以找到已经被加载到内存的模块,sys.module是一个字典,内部包含模块名与模块对象的映射,该字典决定了模块是否需要重新导入。(sys.path的第一个路径就是当前执行文件所在文件夹,路径随执行文件而变。)

首次导入模块:

  1.创建模板名称空间

  2.执行模板对应的执行文件,将产生的文件存放在名称空间

  3.在当前执行文件中拿到模板名,该模板名指向该模板的内存空间

sys.path从以下位置初始化:

  1.执行文件所在的当前目录

  2.PTYHONPATH

  3.依赖安装时默认指定的

四、编写好的一个python文件可以有两种用途

  1.脚本,一个文件就是整个程序,用来被执行

  2.模块,文件中存放着一堆功能,用来被导入使用

五、模板查找顺序

  1.内存已加载的模板

   2.内置模板

   3.sys.path(第一个路径是当前执行文件所在文件夹,路径随执行文件而变)

六、软件开发目录规范

Python模块初识的更多相关文章

  1. python 模块初识

    python的强大之处在于有丰富的实现各种功能的标准库和第三方库,另外还允许用户自己建立库文件, 标准模块(又称为库)包括sys, os, glob, socket, threading, _thre ...

  2. python学习笔记(基础四:模块初识、pyc和PyCodeObject是什么)

    一.模块初识(一) 模块,也叫库.库有标准库第三方库. 注意事项:文件名不能和导入的模块名相同 1. sys模块 import sys print(sys.path) #打印环境变量 print(sy ...

  3. Python 基础-python环境变量、模块初识及字符类型

    (1).模块内置模块.第三方模块.自定义模块初识模块:sys \ os一般标准库存放路径 C:\Users\Administrator\AppData\Local\Programs\Python\Py ...

  4. 小白的Python之路 day1 模块初识

    模块初识 Python的强大之处在于他有非常丰富和强大的标准库和第三方库,几乎你想实现的任何功能都有相应的Python库支持,以后的课程中会深入讲解常用到的各种库,现在,我们先来象征性的学2个简单的. ...

  5. python之路:模块初识

    python王者开发之路:模块初识 模块初识我现在讲的确有点早.不过没关系,后面我会详细说模块. 模块,也就是库,是python三剑客之一.这三剑客,函数.库和类,都是由程序编写而成的.之所以我先说模 ...

  6. Python学习:模块初识、数据类型

    1.模块初识 在Python中,模块分为两种: (1)标准库 标准库无需安装,只要在使用的时候import就可以使用了 (2)第三方库 第三方库必须下载安装之后才能够引入使用 下面介绍两个基本的模块: ...

  7. 孤荷凌寒自学python第六十七天初步了解Python爬虫初识requests模块

    孤荷凌寒自学python第六十七天初步了解Python爬虫初识requests模块 (完整学习过程屏幕记录视频地址在文末) 从今天起开始正式学习Python的爬虫. 今天已经初步了解了两个主要的模块: ...

  8. python day 8: re模块补充,导入模块,hashlib模块,字符串格式化,模块知识拾遗,requests模块初识

    目录 python day 8 1. re模块补充 2. import模块导入 3. os模块 4. hashlib模块 5. 字符串格式:百分号法与format方法 6. 模块知识拾遗 7. req ...

  9. python 之 初识模块

    什么是模块 什么是模块 一个.py文件 就是一个模块 我们使用import加载的模块分为4个通用类别 1.py文件 2.包好一组模块的包(带__init__.py文件的文件夹) 3.内置模块 4.已被 ...

随机推荐

  1. 排列组合n选m算法

    找10组合算法,非递归 http://blog.csdn.net/sdhongjun/article/details/51475302

  2. u盘中毒,启动显示找不到指定模块

    u盘中毒,插入电脑,启动显示找不到指定模块,关闭杀毒软件还是这样: 小编经常是在学校教室的电脑上插入U盘再拔出就出现这样的情况,遇到N次了, 所以决定把方法记录下来: (演示使用的是win10系统,其 ...

  3. Codeforces Round #470 Div. 1

    A:暴力枚举x2的因子,由此暴力枚举x1,显然此时减去其最大质因子并+1即为最小x0. #include<iostream> #include<cstdio> #include ...

  4. LOJ6436 [PKUSC2018] 神仙的游戏 【FFT】

    题目分析: 题目要求前后缀相同,把串反过来之后是一个很明显的卷积的形式.这样我们可以完成初步判断(即可以知道哪些必然不行). 然后考虑一下虽然卷积结果成立,但是存在问号冲突的情况. 箭头之间应当不存在 ...

  5. CH0805 防线(算竞进阶习题)

    二分 一道藏的很深的二分题... 题目保证只有一个点有奇数个防具,这个是突破口. 因为 奇数+偶数=偶数,我们假设某个点x,如果有奇数点的防具在x的左边,那么x的左边的防具总数一定是奇数,右边就是偶数 ...

  6. base64URL处理

    加密 String str="hello world"; String encode= Base64.getUrlEncoder().encodeToString(str.getb ...

  7. hiho1257 Snake Carpet

    题目链接:http://hihocoder.com/problemset/problem/1257 题目大意:有n条蛇 编号为1-n 每条蛇的长度跟编号相等 奇数编号的蛇必须拐奇数次(除了第一条)偶数 ...

  8. 【hihocoder 1424】 Asa's Chess Problem(有源汇上下界网络流)

    UVALive-7670 ICPC北京2016-C题 hihocoder 1424 题意 有个 \(N\times N\) 的棋盘,告诉你每个格子黑色(1)或白色(0),以及每对能相互交换的同行或同列 ...

  9. [bzoj2288][pojChallenge]生日礼物【贪心+堆+链表】

    题目描述 ftiasch 18岁生日的时候,lqp18_31给她看了一个神奇的序列 A1, A2, -, AN. 她被允许选择不超过 M 个连续的部分作为自己的生日礼物. 自然地,ftiasch想要知 ...

  10. C# 新语法收集

    内联变量 使用int.tryparst时,先要申明变量,用于out参数 int d; int.tryparse(s,out d); 使用内联变量写法可以如下.功能一样简化了写化 int.trypars ...