Python模块初识
目录
一、模块初识
模块是自我包含并且有组织的代码片段,是一系列功能的集合体,一个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模块初识的更多相关文章
- python 模块初识
python的强大之处在于有丰富的实现各种功能的标准库和第三方库,另外还允许用户自己建立库文件, 标准模块(又称为库)包括sys, os, glob, socket, threading, _thre ...
- python学习笔记(基础四:模块初识、pyc和PyCodeObject是什么)
一.模块初识(一) 模块,也叫库.库有标准库第三方库. 注意事项:文件名不能和导入的模块名相同 1. sys模块 import sys print(sys.path) #打印环境变量 print(sy ...
- Python 基础-python环境变量、模块初识及字符类型
(1).模块内置模块.第三方模块.自定义模块初识模块:sys \ os一般标准库存放路径 C:\Users\Administrator\AppData\Local\Programs\Python\Py ...
- 小白的Python之路 day1 模块初识
模块初识 Python的强大之处在于他有非常丰富和强大的标准库和第三方库,几乎你想实现的任何功能都有相应的Python库支持,以后的课程中会深入讲解常用到的各种库,现在,我们先来象征性的学2个简单的. ...
- python之路:模块初识
python王者开发之路:模块初识 模块初识我现在讲的确有点早.不过没关系,后面我会详细说模块. 模块,也就是库,是python三剑客之一.这三剑客,函数.库和类,都是由程序编写而成的.之所以我先说模 ...
- Python学习:模块初识、数据类型
1.模块初识 在Python中,模块分为两种: (1)标准库 标准库无需安装,只要在使用的时候import就可以使用了 (2)第三方库 第三方库必须下载安装之后才能够引入使用 下面介绍两个基本的模块: ...
- 孤荷凌寒自学python第六十七天初步了解Python爬虫初识requests模块
孤荷凌寒自学python第六十七天初步了解Python爬虫初识requests模块 (完整学习过程屏幕记录视频地址在文末) 从今天起开始正式学习Python的爬虫. 今天已经初步了解了两个主要的模块: ...
- python day 8: re模块补充,导入模块,hashlib模块,字符串格式化,模块知识拾遗,requests模块初识
目录 python day 8 1. re模块补充 2. import模块导入 3. os模块 4. hashlib模块 5. 字符串格式:百分号法与format方法 6. 模块知识拾遗 7. req ...
- python 之 初识模块
什么是模块 什么是模块 一个.py文件 就是一个模块 我们使用import加载的模块分为4个通用类别 1.py文件 2.包好一组模块的包(带__init__.py文件的文件夹) 3.内置模块 4.已被 ...
随机推荐
- vhdl 边沿
rising_eage falling_eage clock'event and clock='1' 两种方式
- 【嵌入式】Arduino编程基础到应用全解析
Arduino Author: Andrew.Du 基础 基础语法: setup() loop() pinMode(引脚,模式) pinMode(13,OUTPUT):设置13号引脚为输出 //在使用 ...
- Vue——轻松实现vue底部点击加载更多
前言 需求总是不断改变的,好吧,今天就把vue如何实现逐步加载更多和分布加载更多说下,默认你知道如何去请求数据的哈 一次请求 页面 使用slice来进行限制展现从0,a的数据 <div v-fo ...
- 第三十八天 GIL 进程池与线程池
今日内容: 1.GIL 全局解释器锁 2.Cpython解释器并发效率验证 3.线程互斥锁和GIL对比 4.进程池与线程池 一.全局解释器锁 1.GIL:全局解释器锁 GIL本质就是一把互斥锁,是夹在 ...
- MySQL数据库实现分页查询的SQL语句写法!
一:分页需求: 客户端通过传递start(页码),limit(每页显示的条数)两个参数去分页查询数据库表中的数据,那我们知道MySql数据库提供了分页的函数limit m,n,但是该函数的用法和我们的 ...
- 【XSY2719】prime 莫比乌斯反演
题目描述 设\(f(i)\)为\(i\)的不同的质因子个数,求\(\sum_{i=1}^n2^{f(i)}\) \(n\leq{10}^{12}\) 题解 考虑\(2^{f(i)}\)的意义:有\(f ...
- CODEFORCES掉RATING记 #3
比赛:Codeforces Round #426 (Div. 2) 时间:2017.7.30晚 开场先看AB A:给你两个方向,和旋转次数(每次旋转90度),问你旋转方向是什么 B:给你一个字符串,问 ...
- sg函数小结
sg函数小结 sg函数是处理博弈问题的重要工具. 我们知道sg(x)=mex{sg(j)|x能到达状态j} sg(x)=0时代表后手赢,否则先手赢. 对于一个问题,如果某些子问题是相互独立的,我们就可 ...
- Codeforces Round #449 (Div. 1) Willem, Chtholly and Seniorious (ODT维护)
题意 给你一个长为 \(n\) 的序列 \(a_i\) 需要支持四个操作. \(1~l~r~x:\) 把 \(i \in [l, r]\) 的 \(a_i\) 加 \(x\) . \(2~l~r~x: ...
- 【BZOJ3215/3216】[ZJOI2013]话旧/话旧2(组合数学,动态规划)
[BZOJ3215/3216][ZJOI2013]话旧/话旧2(组合数学,动态规划) 题面 BZOJ3215 BZOJ3216 题解 先解决\(3216\),求的是最小值为\(0\). 因为起点就是\ ...