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 ...
随机推荐
- c# 非调试状态下面执行
#if !DEBUG View("ErrorSimple").ExecuteResult(ControllerContext);#endif
- 30天自制操作系统 - 来一个hello world
helloos.nas 源码: ; hello-os ; TAB= ; 以下这段是标准的FAT12格式软盘专用代码 DB 0xeb, 0x4e, 0x90 DB "HELLOIPL" ...
- 如何在IIS上发布网站 在阿里云服务器windows server2012r iis上部署.net网站
如何在IIS上发布网站 本片博客记录一下怎么用IIS发布一个网站,以我自己电脑上一个已经开发完成的网站为例: 1.打开项目 这是我电脑上的一个项目,现在我记录一下将这个项目发布到iis上的整个过程 ...
- SNF软件开发机器人-子系统-导出-导入功能-多人合作时这个功能经常用到
导出 导出可以将资源表和子系统导出并形成一个json文件. 1.效果展示: 2.使用说明: 点击导出按钮后会弹出一个导出页面.页面的左侧可以选择功能,右侧可以选择资源表,选择功能的同时右侧中功能所需的 ...
- SQL Server 权限控制
根据数据库Schema限制用户对数据库的操作行为 授予Shema dbo下对象的定义权限给某个用户(也就是说该用户可以修改架构dbo下所有表/视图/存储过程/函数的结构) use [Your DB N ...
- neo1973 audio subsystem
fhttp://wiki.openmoko.org/wiki/Neo_1973_audio_subsystem using Bluetooth headset with GSM NOTE none o ...
- Android开发怎么让自己的APP UI漂亮、大方(配色篇二)
我们在没有效果图的app开发中有一件事情肯定很头疼:一个按钮的调色改过来改过去,还是很难看,最终只能暂时作罢,浪费了大量的开发时间和精力.开发规范篇见Android开发怎么让自己的APP UI漂亮.大 ...
- Java对象序列化全面总结
前言 Java允许我们在内存中创建可复用的Java对象,但一般情况下,这些对象的生命周期不会比JVM的生命周期更长.但在现实应用中,可能要求在JVM停止运行之后能够保存(持久化)指定的对象,并在将来重 ...
- C++ 智能指针七
/* 智能指针weak_ptr */ #include <iostream> #include <string> #include <memory> /* weak ...
- GraphX学习笔记——Programming Guide
学习的资料是官网的Programming Guide https://spark.apache.org/docs/latest/graphx-programming-guide.html 首先是Gra ...