模块

'''
模块:一系列功能的集合体

定义模块:创建一个py文件就是一个模块,该py文件名就是模块名

使用模块:在要使用模块的文件中,通过 import 模块名 来导入模块
'''

'''
import module
# 1.编译执行模块所对应的py文件,形成对应的pyc文件
# 2.产生该模块自己的全局名称空间
# 3.在使用该模块的全局名称空间中产生一个名字(导入的模块名)
'''

'''
# 注:
# 1.每一个文件都会产生自己的全局名称空间,且相互不影响
# 2.多次导入,只会编译执行模块一次,将其加载到内存,之后的都是直接对名字的引用
'''

'''
优点:
1.从文件级别组织代码,使同特性的功能能统一管理
2.可以使用系统或第三方模块(拿来主义),来提高开发效率
'''

起别名

# 通过as关键字可以给模块起别名: 模块名一旦起别名,原模块名就不能再使用
# 1.可以简化模块名字
import mmmmmmmmmmmmmmmmmm3 as my_m3
print(my_m3.num)
# 2.可以统一功能
cmd = input('数据库选择 1:mysql | 2:oracle:')
if cmd == '1':
   import mysql as db
   # mysql.excuse()
else:
   import oracle as db
   # oracle.excuse()
db.excuse()

from导入

from 模块名 import 名字1, 名字2, ..., 名字n
# 可以指名道姓导入模板中所有想导入的名


from  模块名 import *
# 导入的是模块中的__all__这个列表
# 1、系统默认该列表不会收录_开头的名字
# 2、可以自定义__all__列表来规定外界通过*可以导入的名字


# 不建议直接导入 *,因为可读性差,且极容易出现变量重名
# 模块中有 名字a
from  模块名 import *
# 可以使用模块中的a
a = 20
# 模块中的a就被覆盖了,且在代码上还不能直接看出


# 其别名
from 模板名 import 名字1 as 别名1, ..., 名字n as 别名n

自执行与模块区别

# __name__:
# 1.在py文件作为模块被使用时,__name__为模块名
# 2.在py文件自执行时,__name__为字符串 '__main__'

print("共有逻辑")
if __name__ == '__main__':
   # 所有自执行的逻辑
   print("m6: 我是自执行的")
   a = 10  # 产生的是全局的名字
else:
   # 所有模块的逻辑
   print("m6: 我被导入执行的")
   print(a)  # 会报错:走else就不可能走if,所以a压根没产生

大总结

'''
模块的概念:一系列功能的集合体
为什么要使用模块:使用模块后的优点:1文件角度考虑代码,2拿来主义,提供开发效率
py中实现模块的方式:4种,重点:py文件


定义模块:新建一个py文件:文件名就是模块名,尽量采用全英文,可以结合数字与下划线
使用模块:可以不用起别名,但一旦起别名,原名字就不能再使用了
-- import 模块名 as 别名
-- from 模块名 import 名字 as 别名 自执行文件与模块区分:__name__
'''

day 15 模块、起别名、from导入的更多相关文章

  1. day 15 模块 相对导入

    自定义模块: 什么是模块:本质就是.py文件,封装语句的最小单位. 自定义模块:实际上就是定义.py,其中可以包含:变量定义,可执行语句,for循环,函数定义等等,他们统称模块的成员. 模块的运行方式 ...

  2. python之模块、包的导入过程和开发规范

    摘要:导入模块.导入包.编程规范 以My_module为例,My_module的代码如下: __all__ = ['name','read'] print('in mymodule') name = ...

  3. 【Python3之模块及包的导入】

    一.模块导入 1.定义 Python 模块(Module),是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语句. 模块让你能够有逻辑地组织你的 Python ...

  4. 015模块——起别名

    1.import起别名:通过as关键字可以给模块起别名: 模块名一旦起别名,原模块名就不能再使用 2.起别名的作用:①可以简化模块名字 import mmmmmmmmmmm3 as my_m3 pri ...

  5. DAY16 模块和包的导入

    一.包 1.包的定义 包:就是一系列模块的结合体 2.重点 1.包中一定要有一个专门来管理包中所有模块的文件 2.包名:存放一系列模块的文件夹名字 3.包名(包对象)存放的是管理模块的那个文件的地址, ...

  6. Day 16 模块和包的导入

    包的认识 包通过文件夹来管理一些列功能相近的模块 包:一系列模块的集合体 重点:包中一定有一个专门来管理包中所有模块的文件 包名:存放一系列模块的文件夹名字 包名(包对象)存放的是管理模块的那个文件地 ...

  7. Day 15 模块

    模块 ```python'''模块:一系列功能的集合体 定义模块:创建一个py文件就是一个模块,该py文件名就是模块名 使用模块:在要使用模块的文件中,通过 import 模块名 来导入模块''' ' ...

  8. Python全栈之路----常用模块学习----模块的种类和导入方法

    什么是模块? 在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护. 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码 ...

  9. Python中模块与包的导入(朴实易懂版的总结)

    这几天,被python包与模块的导入问题,折磨的不行,以前想的很简单,其实不然,经查资料研究,特总结如下: 基本注意点 模块:一般指一个py文件:包:含有许多py文件的文件夹,含有 或不含有(Pyth ...

随机推荐

  1. Chapter 4 Invitations——14

    "Hi, Bella." “你好,Bella” "What's up?" I said as I was unlocking the door. “怎么了?” ...

  2. leetcode — minimum-depth-of-binary-tree

    /** * Source : https://oj.leetcode.com/problems/minimum-depth-of-binary-tree/ * * * Given a binary t ...

  3. Linux常用监控命令简介 - top

    top -hv | -bcisS -d delay -n iterations -p pid [, pid ...] 指令介绍-b : 批次模式运行.-c : 显示执行任务的命令行.-d : 设定延迟 ...

  4. Servlet+Tomcat总结

    Tomcat的缺省端口是多少,怎么修改 1.找到Tomcat目录下的conf文件夹 2.进入conf文件夹里面找到server.xml文件 3.打开server.xml文件 4.在server.xml ...

  5. Docker系列09—Docker的系统资源限制及验证

    本文收录在容器技术学习系列文章总目录 1.限制容器的资源 默认情况下,容器没有资源限制,可以使用主机内核调度程序允许的尽可能多的给定资源.Docker提供了控制容器可以使用多少内存或CPU的方法,设置 ...

  6. F#周报2019年第8期

    新闻 Fable 2.2发布,支持匿名记录 Paket提升还原时间 Microsoft.Jupyter.Core预览 .NET Framework 4.8早期可访问编译版本3745 博客 使用SAFE ...

  7. Golang垃圾回收机制(一)

    原文: http://legendtkl.com/2017/04/28/golang-gc/ 1. Golang GC 发展 Golang 从第一个版本以来,GC 一直是大家诟病最多的.但是每一个版本 ...

  8. 《Web安全深度剖析》

    书名 <Web安全深度剖析> 图片  时间  2018-11月   总结  算是我安全的启蒙书  前五章都是工具  看完差不多算个脚本小子 后面的实战感觉很空洞没什么实战

  9. python学习笔记(十 一)、GUI图形用户界面

    python图形用户界面就是包含按钮.输入框.选择框等组件的窗口.主要依赖与工具包进行代码编写.python GUI工具包并发互斥的,你可以选择多个工具包进行安装,有极大选择空间.每个工具包都有不同用 ...

  10. Lucene.Net3.0.3+盘古分词器学习使用

    一.Lucene.Net介绍 Lucene.net是Lucene的.net移植版本,是一个开源的全文检索引擎开发包,即它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索 ...