从入门到自闭之Python自定义模块
自定义模块
定义:一个文件就是一个模块(能被调用的文件,模块就是一个工具箱,工具就是函数)
作用:
- 将代码文家化管理,提高可读性,避免重复代码
- 拿来就用(避免重复造轮子),python中类库比较多,提升开发效率
import导入时会做三件事:
# import test # 只能将整个工具箱拿来
# a = test.t1
# b = test.t2
#
# a()
# b()
- 将.py文件中的所有代码读取到当前文件
- 在当前文件开辟空间
- 等待被调用
import导入同一个模块名时,只执行一次
import 和from 文件名较长时,都可以用as起别名,目的是为了防止内置模块名与自定义模块名重复,自定义模块会覆盖内置模块
导入模块名时后面不能加后缀
每个模块都有一个独立的内存空间,理论上是全局空间
from :推荐使用from
# from test import t1 as t # 从test工具箱中将t1这个工具拿过来
#
# def t1():
# print("高级工程师")
# t1()
import 和 from的区别:
- from只能执行导入的工具
- import能后执行整个模块中所有的功能
- from容易将当前文件中定义的功能覆盖
- from 比import灵活
import只能导入当前文件夹下的模块
import 后边不能加点操作 ***
import 和 from 使用的都是相对路径
飘红不代表报错
sys:和python解释器交互的接口
- sys.path.append(r"被导入的模块路径")
- 内存 > 内置 > 第三方> 自定义
- sys.path.insert(0.r"被导入的模块路径")
- 内存 > 自定义 > 内置 > 第三方
- sys.path.append(r"被导入的模块路径")
模块的两种用法
- 当做模块导入:使用import 和 from, __ name __ 返回的是当前模块名
- 当作脚本执行:__ name __ 返回 ' __ main __'
只有py文件当做模块被导入时,字节码(pyc)才会进行保留
导入模块时遇到的坑:
- 注意自己的定义的模块名字与系统名字冲突
- 注意自己的思路---循环导入时建议导入模式放后边一点,需要的地方,不要互相查找内容
不建议一行导入多个
from test import * 意思是:拿整个工具箱过来
- 通过 __ all __ 控制要导入的内容
- __ all __ = ["a","func"] 控制 import *
从入门到自闭之Python自定义模块的更多相关文章
- 从入门到自闭之Python时间模块
time模块:import time time.time():时间戳,是一个浮点数,按秒来计算 time.sleep():睡眠,程序暂停多少秒执行 python中时间日期格式化符号: 必背 %y 两位 ...
- 从入门到自闭之Python随机模块
导入:import random 随机小数:random.random():大于0小于1之间的小数 指定数字之间的小数,不包含指定的最大值:random.uniform() 随机整数:random.r ...
- python 自定义模块的发布和安装
[学习笔记] 自定义模块 使用的是pycharm 说白了就是.py文件都可以作为模块导入,像定义一个文件 名字为Mycode __all__ = ["add","sub& ...
- 万恶之源 - Python 自定义模块
自定义模块 我们今天来学习一下自定义模块(也就是私人订制),我们要自定义模块,首先就要知道什么是模块啊 一个函数封装一个功能,比如现在有一个软件,不可能将所有程序都写入一个文件,所以咱们应该分文件,组 ...
- 17.python自定义模块的导入方式
1.直接用import导入 最后运行main.py可以看到命令行窗口输出了一句:你好,这样就完成了. 2.通过sys模块导入自定义模块的路径path 3.在环境变量中找到自定义模块 这个方法原理就是利 ...
- Python自定义模块
自定义模块 自定义模块(也就是私人订制),我们要自定义模块,首先就要知道什么是模块 一个函数封装一个功能,比如现在有一个软件,不可能将所有程序都写入一个文件,所以咱们应该分文件,组织结构要好,代码不冗 ...
- Python 自定义模块位置
1.需要找出Python解释器从哪里查找模块: 具体方法: >>> import sys,pprint>>> pprint.pprint(sys.path)['', ...
- 从入门到自闭之Python解释器安装
Python解释器的安装 1 下载 下载地址:https://www.python.org 选择windows平台的链接进行下载 https://www.python.org/downloads/ ...
- 从入门到自闭之Python集合,深浅拷贝(大坑)
小数据池 int: -5~256 str: 字母,数字长度任意符合驻留机制 字符串进行乘法时总长度不能超过20 特殊符号进行乘法时只能乘以0 代码块: 一个py文件,一个函数,一个模块,终端中的每一行 ...
随机推荐
- 关于MapReduce的测试
题目:数据清洗以及结果展示 要求: Result文件数据说明: Ip:106.39.41.166,(城市) Date:10/Nov/2016:00:01:02 +0800,(日期) Day:10,(天 ...
- Android学习_7/25
常用控件 Android控件使用规律:先定义id,再指定宽度和高度,然后适当加入一些控件特有的属性 1. TextView 在界面上显示一段文本 2. Button ...
- C++入门经典-例7.3-析构函数的调用
1:析构函数的名称标识符就是在类名标识符前面加“~”.例如: ~CPerson(); 2:实例代码: (1)title.h #include <string>//title是一个类,此为构 ...
- php phpexcel 创建excel
public function createExcel($result=[],$fileName=''){ \think\Loader::import('extend.excel.PHPExcel', ...
- CentOS 7下使用Apache2部署Django项目,解决文件名中含有中文报错的问题
系统版本: CentOS 7.3Apache 2.4 Django 1.11 问题描述 Django项目涉及上传操作,上传文件名称含有中文,若使用runserver启动服务,没有问题!若将Django ...
- 移动App双周版本迭代策略
对于移动互联网产品来说,迭代的速度就是生命.我创业时做移动App时是一周一版,而现在是2周1版.相比起小公司,大公司迭代时间虽长,却更为不易,因为大公司流程更多,参与人数更多,需求更多,实现这样的快速 ...
- 使用EasyPrint实现不预览直接打印功能_非JS打印
插件地址 github 下载插件,安装后将在注册表中添加EasyPrint的协议 随后可以在开始->运行中输入EasyPrint://1&test 进行测试 参数分为两部分使用[&am ...
- [Python]在python中调用shell脚本,并传入参数-02python操作shell实例
首先创建2个shell脚本文件,测试用. test_shell_no_para.sh 运行时,不需要传递参数 test_shell_2_para.sh 运行时,需要传递2个参数 test_shell ...
- 阶段3 3.SpringMVC·_04.SpringMVC返回值类型及响应数据类型_6 响应json数据之过滤静态资源
先搭建环境 webapp目录下创建js的文件夹.然后里面引入jquery.min.js这个文件. 页面引入这个js文件 先alert弹窗做测试 服务器重新部署 点击ajax的按钮 并没有起作用 我们在 ...
- vs2017 开发.NetCore部署docker
一.环境 操作系统:windows 10 64bit 开发环境:vs2017 部署环境:docker — windows 二.准备 安装docker: 见:https://www.cnblogs.c ...