python学习 番外篇之模块
番外篇:模块
- 模块概念
- 1、什么是模块
- 2、为何要用模块
- 模块的使用
- 首次导入模块发生的事情
- 不要一行导入多个模块
- 为导入的模块起别名,简化代码
- 直接从模块导入名称
- 一次导入模块所有名称,只适合少数情况
- 总结
模块概念
1、什么是模块
模块就是一个功能的集合体,不是用来直接运行,而是用来被导入使用的
模块分为三大来源:
1、内置的模块
2、第三方模块
3、自定义的模块模块分为四种类别:
1、一个py文件就是一个模块
2、一个文件夹也是一个模块=》包
3、已被编译为共享库或DLL的C或C++扩展
4 使用C编写并链接到python解释器的内置模块
2、为何要用模块
使用别人的模块:
1、拿来主义,提升开发效率自定义模块:
1、别人的功能不够用了,需要自己的去编写
2、解决代码冗余
模块的使用
- 语法:
在程序的开头写入:import 模块名,不用带上.py
首次导入模块发生的事情
- 1、触发被导入的模块的运行,产生一个模块的名称空间,把模块中的名字都丢进去
- 2、会在当前执行文件中得到导入的模块名,该名字是指向被导入模块的名称空间
之后的导入,导入的模块名直接引用首次导入产生的名称空间,不会再执行模块的内的代码了
模块名.模块内名称 # 通过这个语法便能调用模块空间内对应的数据了
# 如:
import time # 为模块time开辟名称空间
time.time() # 调用模块空间time内的time()函数
不要一行导入多个模块
虽然语法上允许,但为了逻辑清晰,程序员们约定俗称用多行来导入各个模块
一行导入多个模块的语法:
import m1, m2, m3, m4
为导入的模块起别名,简化代码
当模块名过长时,正常方法下每次调用模块内数据,都要写入 模块名.名称,导致代码冗长
语法:
import 模块名 as 别名
# 如:
import time as t
之后再调用该模块下值的时候:
别名.名称
# 如:
t.sleep(999999999)
直接从模块导入名称
语法:
from time import time,strftime,sleep
'''
改名代码底层步骤:第一步、开辟time模块的名称空间第二步、并将导入的名称的内存空间赋值:time = time.timestrftime = time.strftimesleep = time.sleep这一步并不会改变值所在的空间的位置。
'''
- 重点注意:
起别名时开辟的time的名称空间,并不代表只导入了改名的名称,time模块下的所有名称都会导入。
但只有改名的名称将内存地址赋值给主程序空间。
一次导入模块所有名称,只适合少数情况
语法:
from 模块名 import *
实际上就是利用了 * 号接收多个值的能力
- 易错点:
肉眼看不出导入了哪些名称的内存地址,如果开发过程中,主程序创建了同名名称,便会将其覆盖,导致对应模块的名称内存地址被覆盖,使其失去效果,所以只有少数情况才会使用该方法。
总结
不同空间值的调用也会不同,比如模块中函数用global修改了其全局空间的money变量,导入该函数(该函数的内存地址)给主程序后,使用它并不会修改主程序全局空间的money变量,区分空间乃重中之重。
python学习 番外篇之模块相关推荐
- 动手学深度学习番外篇 01.为什么from d2l import torch as d2l
动手学深度学习番外篇 01.为什么from d2l import torch as d2l 在跟着网站动手学深度学习学习的时候,发现代码开头中经常要运行这样一句话 from d2l import to ...
- 通过游戏编程学Python(番外篇)— 单词小测验
通过游戏编程学Python 通过游戏编程学Python(6)- 英汉词典.背单词 通过游戏编程学Python(番外篇)- 乱序成语.猜单词 通过游戏编程学Python(5)- 猜成语(下) 通过游戏编 ...
- lua 去除小数点有效数字后面的0_【物联网学习番外篇】Lua脚本编程扫盲
在后面的物联网教程中,我们很快就会接触到Lua这个脚本语言,那么本篇内容结合后续的一些需要的开发点,针对Lua零基础的读者写一篇入门扫盲文章. 01 Lua 介 绍 Lua是一个小巧的脚本语言,其目标 ...
- 【学习番外篇】Firefly ROC-RK3328-CC刷Ubuntu18.04+VNC
文章目录 前言 一.准备工作 二.烧录系统 1.下载对应的烧写工具 2.启动系统 三.连接Windows和远程管理可视化桌面 1.连接putty 2.在putty下联网 3.重点!!!安装桌面环境及V ...
- 【大数据学习番外篇之爬虫3】爬美女照片
为什么猪会说谎?因为它们不想被揭穿是猪! 1. 为什么小鸟总是歌唱?因为它们不会说话! 2. 为什么光头强不喜欢去博物馆?因为里面都是古人的头发! 3. 为什么鱼不喜欢唱歌?因为它们会唱跳不动! 4. ...
- Python爬虫番外篇之Cookie和Session
关于cookie和session估计很多程序员面试的时候都会被问到,这两个概念在写web以及爬虫中都会涉及,并且两者可能很多人直接回答也不好说的特别清楚,所以整理这样一篇文章,也帮助自己加深理解 什么 ...
- 番外篇(1)模块次序表、代数环及其检测算法
文章目录 模块次序表 直通模块与端点模块 代数环简介 模块次序表需要注意的其它细节 缺少一次更新的加法器 直通模块交叉1:DFS的问题 直通模块交叉2:BFS的问题 重排算法与代数环检测 其它容易出错 ...
- swft入门学习番外篇-创建项目
创建一个简单地项目文件,需要一下几个步骤 1.File->New->Project; 新建一个新的项目 2.Application->Single View Application ...
- 给深度学习入门者的Python快速教程 - 番外篇之Python-OpenCV
转载自:https://zhuanlan.zhihu.com/p/24425116 本篇是前面两篇教程:给深度学习入门者的Python快速教程 - 基础篇 给深度学习入门者的Python快速教程 - ...
最新文章
- Java学习总结:32(Runtime类)
- Swift和Java在函数(method/方法)方面的比较
- 字段对应数组_字段不同的多个工作薄汇总? 还要固定字段位置 !难不倒我!...
- Python数据可视化之Matplotlib实现各种图表
- wpf将文字转化为图形_工程师们开发出将天然气转化为固体的方法
- 【撸码师的备忘录】java对redis的基本操作
- 数据库SQL语言从入门到精通--Part 3--SQL语言基础知识
- Python中abs()和fabs()方法之间的区别
- 国庆档首日票房破2亿 长津湖票房占比过半
- gsonformat安装怎么使用_json解析—Gson以及GsonFormat插件的运用
- 读《反欺骗的艺术》有感
- 拒绝访问,文件或目录损坏且无法读取解决办法
- 华为手机相册怎么镜像翻转_怎么制作照片视频?利用手机相册快速制作卡点视频...
- 导航栏背景色、标题颜色以及返回键自定义
- js 格式化prettier配置_使Prettier一键格式化WXSS
- 美通企业周刊 | 中国全球化品牌50强榜单发布;酩帝诗威士忌拍出近21万美元天价...
- 【建议星星】要就来45道Promise面试题一次爽到底
- 单点登录(SSO)、CAS介绍
- freenom又行了-免费顶级域名白嫖一年,赶紧看看如何申请
- 【模电知识总结】二极管