day15 十五、模块、from导入、起别名
一、模块的概念
1、什么是模块:一系列功能的集合体
2、定义模块:创建一个py文件就是一个模块,该py文件名就是模块名
模块的四种存在方式:
使用python编写的.py文件
包:一堆py文件的集合体
使用c编写并链接到python解释器的内置模块
已被编译为共享库或DLL的c或c++扩展
3、使用模块:在要使用模块的文件中,通过导入import 模块名 来导入模块
4、为什么要使用模块:
从文件级别组织代码,是同特性的功能能统一管理
可以使用系统或第三方模块(拿来主义),来提高开发效率
每一个文件都会产生自己的全局名称空间,且互相不影响
多次导入,只会编译执行模块一次,将其加载到内存,之后都是直接对名字的引用。
import module
a =
print(module.b())
二、起别名
# 在任何地方都可以导入模块 def fn():
global m2
import m2
print('>>>',m2.num)
fn()
print(m2.num)
1、通过as关键字可以给模块起别名:模块名一旦起别名,原模块名就不能够使用
# 1、可以简化模块名字
import mmmmmm2 as my_m2
print(my_m2.num) # 2、可以统一功能
cmd = input('数据库选择 1:mysql | 2:oracle:')
if cmd == '':
# import mysql
# mysql.excuse()
import mysql as db else:
# import oracle
# oracle.excuse()
import oracle as db db.excuse()
三、from导入
1、from 模块名 import 名字1,名字2,名字3
from m3 import a,b,_c # 指名道姓的可以导入以_开头的名字
2、通过*导入:可以将模块中的名字一并导入
from 模块名 import * 导入的是模块中的__all__这个列表
1、系统默认该列表不会收录_开头的名字
2、可以自定义__all__列表来规定外界通过*可以导入的名字 不建议直接导入*,因为可读性差,且极易出现变量名重名
from m3 import *
print(a)
a()
3、from导入起别名:一旦起别名,原名就不能再使用
from 模块名 import 名字1 as 别名1, 名字2 as 别名2 from m4 import aaaa as a, bbbb as b, cccc as c
print(a) #
print(b) #
print(c) #
四、自行文件与模块的区别
1、主文件
import m5 print(m5.money())
from m5 import money
money()
print(money())
2、调用文件
print('m5:我被导入执行的')
def money():
money=1000
print(money)
return 123
# __name__:
# 在py文件作为模块被使用时,__name__为模块名
# 在py文件自执行时,__name__为字符串'__main__'
if __name__ == '__main__':
print('m5:我是自执行的')
else:
print('m5:我是被导入执行的')
day15 十五、模块、from导入、起别名的更多相关文章
- ES6学习笔记十:模块的导入、导出
一:模块导入 1) import { 要导入的属性.方法民 } from '模块路径'; 2)该种方法需要有配置文件,指明模块所在路径 import { 要导入的属性.方法民 } from '模块名' ...
- Python开发【第十五篇】模块的导入
的导入语句 import 语句 语法: import 模块名1 [as 模块别名] 作用: 将某模块整体导入到当前模块 示例: import math import sys,os 用法: 模块名.属性 ...
- Python第十五天 datetime模块 time模块 thread模块 threading模块 Queue队列模块 multiprocessing模块 paramiko模块 fabric模块
Python第十五天 datetime模块 time模块 thread模块 threading模块 Queue队列模块 multiprocessing模块 paramiko模块 fab ...
- 第三百二十五节,web爬虫,scrapy模块标签选择器下载图片,以及正则匹配标签
第三百二十五节,web爬虫,scrapy模块标签选择器下载图片,以及正则匹配标签 标签选择器对象 HtmlXPathSelector()创建标签选择器对象,参数接收response回调的html对象需 ...
- C# DateTime的11种构造函数 [Abp 源码分析]十五、自动审计记录 .Net 登陆的时候添加验证码 使用Topshelf开发Windows服务、记录日志 日常杂记——C#验证码 c#_生成图片式验证码 C# 利用SharpZipLib生成压缩包 Sql2012如何将远程服务器数据库及表、表结构、表数据导入本地数据库
C# DateTime的11种构造函数 别的也不多说没直接贴代码 using System; using System.Collections.Generic; using System.Glob ...
- 二十五. Python基础(25)--模块和包
二十五. Python基础(25)--模块和包 ● 知识框架 ● 模块的属性__name__ # my_module.py def fun1(): print("Hello& ...
- 孤荷凌寒自学python第三十五天python的文件操作之针对文件操作的os模块的相关内容
孤荷凌寒自学python第三十五天python的文件操作之针对文件操作的os模块的相关内容 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 一.打开文件后,要务必记得关闭,所以一般的写法应当 ...
- 孤荷凌寒自学python第二十五天初识python的time模块
孤荷凌寒自学python第二十五天python的time模块 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 通过对time模块添加引用,就可以使用python的time模块来进行相关的时间操 ...
- 第十五章、线程之queue模块的各种队列
目录 第十五章.线程之queue模块的各种队列 一.Queue 二.LifoQueue堆栈 三.PriorityQueue优先级队列 第十五章.线程之queue模块的各种队列 一.Queue impo ...
随机推荐
- Node.js模板引擎的深入探讨
每次当我想用 node.js 来写一个 web 相关项目的时候.我总是会陷入无比的纠结.原因是 JavaScript 生态圈里的模板引擎实在太多了,但那么多却实在找不出一个接近完美的,所谓完美的概念就 ...
- 一步步教你轻松学支持向量机SVM算法之案例篇2
一步步教你轻松学支持向量机SVM算法之案例篇2 (白宁超 2018年10月22日10:09:07) 摘要:支持向量机即SVM(Support Vector Machine) ,是一种监督学习算法,属于 ...
- 关于Android开发中Arm、X86和Mips(草稿)
一.架构 1.Arm架构 是一个32位精简指令集(RISC)处理器架构,其广泛地使用在许多嵌入式系统设计. 2.X86架构 是一个intel通用计算机系列的标准编号缩写,也标识一套通用的计算机指令集合 ...
- Latex中cls和sty文件有何区别?
Latex中cls和sty文件有何区别? 资源 本文对 LaTeX 中 .cls 和 .sty 文件进行介绍,主要参考了 What are .cls and .sty files?How are th ...
- ASP.NET CORE 中用单元测试测试控制器
之前用ASP.NET CORE做的项目 加了一个新功能,数据库加了个字段balabala.... 更新到服务器上,新功能测试正常,然后就没管了..... 今天客户说网站有BUG,某个页面打开后出错了, ...
- 解决AndroidStudio导入项目卡在gradle加载界面
为了节省排版时间,直接上图了,图片若看不清,可在新标签中打开查看. 文中图片上涉及到的一些链接如下: maven { url 'http://maven.aliyun.com/nexus/conten ...
- matplotlib绘图不显示问题解决plt.show()
最近在看<Python数据分析>这本书,而自己写代码一直用的是Pycharm,在练习的时候就碰到了plot()绘图不能显示出来的问题.网上翻了一下找到知乎上一篇回答,试了一下好像不行,而且 ...
- 干货 | Elasticsearch 集群健康值红色终极解决方案【转】
题记 Elasticsearch当清理缓存( echo 3 > /proc/sys/vm/drop_caches )的时候,出现 如下集群健康值:red,红色预警状态,同时部分分片都成为灰色. ...
- 用反卷积(Deconvnet)可视化理解卷积神经网络还有使用tensorboard
『cs231n』卷积神经网络的可视化与进一步理解 深度学习小白——卷积神经网络可视化(二) TensorBoard--TensorFlow可视化 原文地址:http://blog.csdn.net/h ...
- Maven知识总结(转)
原文地址:http://blog.csdn.net/caihaijiang/article/details/6664910 1.Maven内置变量说明: ${basedir} 项目根目录 ${proj ...