一、模块的概念

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导入、起别名的更多相关文章

  1. ES6学习笔记十:模块的导入、导出

    一:模块导入 1) import { 要导入的属性.方法民 } from '模块路径'; 2)该种方法需要有配置文件,指明模块所在路径 import { 要导入的属性.方法民 } from '模块名' ...

  2. Python开发【第十五篇】模块的导入

    的导入语句 import 语句 语法: import 模块名1 [as 模块别名] 作用: 将某模块整体导入到当前模块 示例: import math import sys,os 用法: 模块名.属性 ...

  3. Python第十五天 datetime模块 time模块 thread模块 threading模块 Queue队列模块 multiprocessing模块 paramiko模块 fabric模块

    Python第十五天  datetime模块 time模块   thread模块  threading模块  Queue队列模块  multiprocessing模块  paramiko模块  fab ...

  4. 第三百二十五节,web爬虫,scrapy模块标签选择器下载图片,以及正则匹配标签

    第三百二十五节,web爬虫,scrapy模块标签选择器下载图片,以及正则匹配标签 标签选择器对象 HtmlXPathSelector()创建标签选择器对象,参数接收response回调的html对象需 ...

  5. C# DateTime的11种构造函数 [Abp 源码分析]十五、自动审计记录 .Net 登陆的时候添加验证码 使用Topshelf开发Windows服务、记录日志 日常杂记——C#验证码 c#_生成图片式验证码 C# 利用SharpZipLib生成压缩包 Sql2012如何将远程服务器数据库及表、表结构、表数据导入本地数据库

    C# DateTime的11种构造函数   别的也不多说没直接贴代码 using System; using System.Collections.Generic; using System.Glob ...

  6. 二十五. Python基础(25)--模块和包

    二十五. Python基础(25)--模块和包 ● 知识框架   ● 模块的属性__name__ # my_module.py   def fun1():     print("Hello& ...

  7. 孤荷凌寒自学python第三十五天python的文件操作之针对文件操作的os模块的相关内容

     孤荷凌寒自学python第三十五天python的文件操作之针对文件操作的os模块的相关内容 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 一.打开文件后,要务必记得关闭,所以一般的写法应当 ...

  8. 孤荷凌寒自学python第二十五天初识python的time模块

    孤荷凌寒自学python第二十五天python的time模块 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 通过对time模块添加引用,就可以使用python的time模块来进行相关的时间操 ...

  9. 第十五章、线程之queue模块的各种队列

    目录 第十五章.线程之queue模块的各种队列 一.Queue 二.LifoQueue堆栈 三.PriorityQueue优先级队列 第十五章.线程之queue模块的各种队列 一.Queue impo ...

随机推荐

  1. intellij 自动导包

  2. SQL SERVER 中日期格式化,及GETDATE()、CONVERT()函数使用说明

    1. date和datetime类型的区别 date是SQL Server 2008新引进的数据类型.它表示一个日期,不包含时间部分,可以表示的日期范围从公元元年1月1日到9999年12月31日.只需 ...

  3. 简单理解 RPC(转载)

    原文地址:http://www.syyong.com/architecture/Simple-understanding-of-RPC.html RPC(Remote Procedure Call P ...

  4. web字体分析

    一.衬线字体与非衬线字体 衬线体(serif)和无衬线体(sans-serif)的分类起源于英文字体界. 衬线体(serif)-Georgia-Times 「衬线」指的是字形笔画在首位的装饰和笔画的粗 ...

  5. AngularJS判断checkbox/复选框是否选中并实时显示

    最近做了一个选择标签的功能,把一些标签展示给用户,用户选择自己喜欢的标签,就类似我们在购物网站看到的那种过滤标签似的: 简单的效果如图所示: 首先看一下html代码: 1 <!DOCTYPE h ...

  6. 物联网架构成长之路(30)-Spring Boot Admin微服务WebUI监控

    0. 前言 一个完整的微服务解决方案包含了许多微服务,基于我们需要观察各个微服务的运行状态,因此Spring Boot 生态提供了Spring Boot Admin 这个组件来实现微服务管理WEB U ...

  7. ubuntu上Android开发环境及依赖项

    [时间:2018-07] [状态:Open] [关键词:ubuntu,系统安装,开发环境搭建,android,工具集] Ubuntu系统版本:v18.04 LTS c/c++ dev (build-e ...

  8. 如何关闭windows server2012 80端口

    Windows Server禁用本地端口的两种方法 这篇文章主要介绍了Windows Server 2008 禁用本地端口的两种方法,本文讲解了通过Windows防火墙禁用端口.通过IP安全策略禁用端 ...

  9. [转]Jsoup(一)Jsoup详解(官方)

    原文地址:http://www.cnblogs.com/zhangyinhua/p/8037599.html 一.Jsoup概述 1.1.简介     jsoup 是一款Java 的HTML解析器,可 ...

  10. sql 视图 字段条件统计

    ) FModelCode,FProductTypeName,FBrandName,FOrganizationName,KOrganizationID,) FALLCount, end) SaleCou ...