模块1.0
时间:2019-09-26
本文章向大家介绍模块1.0,主要包括模块1.0使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
模块化
Python中只有一种模块对象类型
模块module,指的是Python源代码文件
包package,指的是模块组织在一起的包和包同名的目录及其相关文件
模块的四种形式
- 内置模块:Python解释器自带的模块
- pip安装的模块:pip install 模块名
- 自定义模块:自定义模块
- 包
导入语句
导入非顶级模块,只将其顶级模块名称加入到本地名词空间中.导入的模块必须使用完全限定名称来访问.
如果使用as ,as 后的名称直接绑定到导入的模块对象,并将该名称加入到本地名词空间中.
- 找到from 子句中指定的模块,加载并初始化(不是导入)
- 对于import子句后的名称
- 先查from子句导入的模块是否具有该名称的属性
- 如果内有,则尝试导入该名称子模块中的同名模块
- 还没找到,抛出Import Error异常
- 之歌名称保存到本地名词空间中,如果使用了as语句,则使用as子句后面的名称
自定义模块
模块名就是文件名
模块名必须符合标识符要求
不要使用系统模块名,避免冲突
通常模块名全小写,下划线分割
模块搜索顺序
从当前-->局部-->全局-->内置
程序主目录,程序运行的主程序脚本所在的目录
PYTHONPATH目录,环境变量PYTHONPATH设置的目录也是搜索模块的路径
标准库目录,Pythoon自带的库模块所在的目录
模块运行
import time
#1. 开辟内存空间,内存空间命名为time
# 2. 把time.py中的所有代码读入名称空间,然后运行
# 3. 通过time.方法名使用time模块中的方法
优点:永不冲突
缺点:导入麻烦
from time import sleep
# 1. 开辟内存空间,内存空间命名为time
# 2. 把time.py中的所有代码读入名称空间,然后运行
# 3. 把sleep()读入import和from...import.py中,因此可以直接使用方法名
from time import * #表示导入time下所有方法
优点:调用省事
缺点:容易发生冲突
if __name__ == '__main__':
上语句常用于模块中功能检测,
其中,当运行文件为当前文件时,__name__参数默认值为__main__;当调用运行文件外的模块时,__name__参数默值为模块名(默认就意味着可以更改,但是没必要)
- 此功能为模块测试功能:测试本模块内部的函数,类
- 避免主模块变更的副作用:顶层代码,没有封装,主模块使用没有问题.一旦有了新的主模块,当前模块要被导入,由于源代码没有封装,一并执行
原文地址:https://www.cnblogs.com/agsol/p/11594545.html
- Struts2 S2-020在Tomcat 8下的命令执行分析
- Struts2再曝S2-020补丁绕过漏洞 – 万恶的正则表达式
- 学习BlogEngine.Net解读笔记系列(一)
- Android面试系列之应用内多语言切换
- Android面试系列之AsyncTask
- Kali-Linux扩充弹药:Kali Linux metapackages
- 使用HackRF解调TDD-LTE信号
- 一个优秀的Android应用从建项目开始
- Ruby OpenSSL 私钥伪造脚本
- 基于 k8s 的 Jenkins 构建集群实践
- Visual C#.Net网络程序开发-Tcp篇(1) 祥细内容:
- 无服务器化的微服务持续交付
- Visual C#.Net网络程序开发-Tcp篇(2) 祥细内容:
- 看你是否够老 – ipman的vxd程序介绍的翻译
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 【赵渝强老师】Docker的日志
- 超全递归技巧整理,这次一起拿下递归
- [译] React 测试驱动开发:从用户故事到产品
- 计算机基础之位运算 | 按位取反
- 关于php的ini文件相关操作函数浅析
- PHP中的输出缓冲控制
- SpringCloud微服务:基于Nacos组件,整合Dubbo框架
- [译] 使用 microbundle 打包 TypeScript 组件库
- 3分钟短文 | Laravel 获取模型查询生成的SQL语句
- 基于git的测试用例管理方案
- 【赵渝强老师】MongoDB管理用户的认证机制
- 使用Microsoft Teams Updater执行代码
- 腾讯云 Serverless 云函数实现 CKafka 数据转存到 ES
- 软硬件都开源!基于千兆以太网的温度传感应用
- 【赵渝强老师】使用Docker Compose进行服务编排