趁着课余时间学点Python(十五)有趣的小模块
一、Python模块与包
python中模块与包的含义
1. Python模块与包
模块是单个的py文件,包是包含多个py文件的文件夹
1.1 模块
模块是一个py文件
我们自己创建一个py文件就是一个模块
我们可以对他进行导入的操作,然后使用
自定义模块:textmodel.py
def print_f(a):print(a)
另一个py文件:模块.py
导入的时候记得要让两个文件同路径
我们导入自定义模块,然后使用自定义函数
# 第一种方法 import textmodel textmodel.print_f("第一种方法:直接导入 测试成功") # 第二种方法 from textmodel import print_f print_f("第二种方法:精确导入某函数 测试成功") # 第三种方法 import textmodel as tm tm.print_f("第三种方法:导入起别名 测试成功")
导入别人的模块和内置模块也可以这样
项目文件夹:
1.2 包
包就是一个含有__init__.py
的文件夹
我们在项目目录下创建一个文件夹text
,然后在里面放一个__init__.py
的文件
这样就是一个包了
在text文件夹新建一个
textpackage.py
def print_f(a):print(a)
和text同目录的
模块.py
文件from text import textpackeg textpackeg.print_f("包测试成功")
项目文件夹:
text文件夹:
2. 有趣有用的库
Python模块千千万,有趣有用占一半。
你是否知道这几个模块呢?他们的作用都是我们平常使用的。让我们一起来看看这些模块吧!
有的模块功能众多,这里只列出一些好玩的功能
2.1 链接生成二维码
你可曾自己动手做过二维码吗?花了多少时间?花了钱吗?
没关系,这个模块两行命令直接将你的网址/链接转成二维码,支持有图背景,无图背景等形式。
模块名:myqr
安装方式:pip自动安装
打开cmd键入
pip install myqr
然后静静等待安装完成就可以了~~
安装完成后,不需要打代码,还是cmd命令界面
使用格式:myqr 网址 -p 自定义图片路径 -c
实例分析:
普通图片二维码:
网址链接:https://blog.csdn.net/m0_52883898
图片地址:C:\ITStudy\ITtools\pythontool\test.jpg
命令:myqr https://blog.csdn.net/m0_52883898 -p C:\ITStudy\ITtools\pythontool\test.png -c
在cmd键入命令后,如果得到这样的提示,就是成功了
line 16: mode: byte
Succeed!
Check out your 4-H QR-code: C:\Users\Smly\test_qrcode.png
打开我们生成的二维码瞅一瞅:
动态图二维码:
网址链接:https://blog.csdn.net/m0_52883898
图片地址:C:\ITStudy\ITtools\pythontool\test.gif
命令:myqr https://blog.csdn.net/m0_52883898 -p C:\ITStudy\ITtools\pythontool\test.gif -c
成功:
It may take a while, please wait for minutes...
line 16: mode: byte
Succeed!
Check out your 4-H QR-code: C:\Users\Smly\test_qrcode.gif
打开瞅瞅:
2.2 视频转gif
作为博主,有时候会面对一些很苦恼的事情,就是代码效果一张图片塞不下,多张图片不好看,md有没法放视频,所以需要视频转gif,就很有用了。
他就是moviepy库,当然他的功能不仅仅是视频转gif,还有更多功能等你来看哦
安装
pip install moviepy
写代码
import moviepy.editor as mp#视频文件的本地路径 con = mpy.VideoFileClip("C:\\ITStudy\\ITtools\\pythontool\\test.mp4") # 截取帧数 c1 = content.subclip(0, 30) # 将片段保存为gif到"C:\\ITStudy\\ITtools\\pythontool\\moviepytest.gif" c1.write_gif("C:\\ITStudy\\ITtools\\pythontool\\moviepytest.gif")
运行代码,等待运行完成
看看效果:
2.3 随机数生成
有时会需要使用到随机数,这时候就需要我们的random模块
用法不难,如下:
import random
# 生成10个0-10的整数
for i in range(10):print(random.randint(0,10))# 生成10个0-1的数
for i in range(10):print(random.random())
2.4 时间模块
有时候我们会想记录我们代码所运行的实际时间
import time
start = time.time() # 当前时间戳
a = 1000**100000
end = time.time() # 获取计算完成的时间戳
runTime = end - start # 计算所花的时间
print("本次计算耗时:{}".format(runTime))
2.5 词云生成
你是否想要生成一个自己所拥有的词云图呢?这个模块可以帮到你!wordcloud
有些依赖模块需要安装,我只介绍简单的词云
安装会有问题,建议下载源代码,使用文件安装,不适用pip
英文词云:
from wordcloud import WordCloud# 1.读入txt文本数据
text = open(r'test.txt', "r",encoding = 'utf-8').read()# 2.生成词云图,这里需要注意的是WordCloud默认不支持中文
# 无自定义背景图:需要指定生成词云图的像素大小,默认背景颜色为黑色,统一文字颜色:mode='RGBA'
wc = WordCloud(# 设置背景色background_color='white',# 设置背景宽width=500,# 设置背景高height=350,# 最大字体max_font_size=50,# 最小字体min_font_size=10,mode='RGBA',
)
# 产生词云
wc.generate(text)
# 保存图片
wc.to_file(r"wordcloud.png") # 按照设置的像素宽高度保存绘制好的词云图,比下面程序显示更清晰
3. 把自己的模块上传到网络
详情请看这篇博客保姆级教程带你开发优质的Python库之上篇【建议收藏】
结语
兴趣是最好的老师,坚持是不变的真理。
学习不要急躁,一步一个脚印,踏踏实实的往前走。
每天进步一点点,日积月累之下,你就会发现自己已经变得很厉害了。
我是布小禅,一枚自学萌新,跟着我每天进步一点点吧!
说了这么多暂时也就够了,那么就告辞吧
你想学的,我这里都有!!
点击链接加入群聊【Python全栈技术学习交流】
趁着课余时间学点Python(十五)有趣的小模块相关推荐
- 趁着课余时间学点Python(十)面向对象的理解(前奏)
文章目录 前言 正文 面向过程 面向对象 类和对象 类 构造方法 对象 用Python代码展示洗衣服例子 面向过程洗衣服 面向对象洗衣服 结语 前言 说起来这一篇本打算早就写的,因博主沉迷小说耽搁了 ...
- 趁着课余时间学点Python(十二)面向对象的理解(结局)
文章目录 前言 1. 私有化 1.1 属性私有化 1.2 方法私有化 2. 重写 3. 魔术方法 3.1 __init__方法 3.2 __str__方法 3.3 __del__方法 3.4 __ne ...
- 趁着课余时间学点Python(十四)文件操作
文章目录 ☀️ 前言 ☀️
- 趁着课余时间学点Python(十六)多线程编程
文章目录 ☀️ 前言 ☀️
- 趁着课余时间学点Python(八)函数的简单理解
文章目录 前言 函数 无参函数 定义一个无参函数 调用这个无参函数 把我们的例子打出来 有参函数 定义和调用 实例 return的使用 例子 结语 前言 来了,他来了,函数篇! 学了函数才算是能推动p ...
- 趁着课余时间学点Python(七)一篇文了解迭代器
文章目录 前言 迭代器 迭代器的基本方法 小练习 结语 前言 好了,我们言归正传,啊,不对,我们继续道来.我们今天就说说迭代器! 这个词是不是看着比较高大上,感觉学不会?没事,今天我就带着你们征服他们 ...
- 趁着课余时间学点Python(十三)异常处理
文章目录 前言 一.异常/错误 1 编译时错误 2. 运行时错误 3. 逻辑型错误 二.异常处理 1. 捕获异常 1.1 try except finally语句 1.2 try except els ...
- 趁着课余时间学点Python(六)终止循环,阻断循环
文章目录 前言 条件控制语句的补充 break continue return 结语 前言 如果我需要设置一个死循环,然后靠条件来终止,怎么办? 一个很简单的问题,但是我却没有说,这一篇本应该在分支控 ...
- 趁着课余时间学点Python(九)函数的进阶 生成器 装饰器的理解
文章目录 前言 生成器 为什么使用 格式 嵌套函数 装饰器 使用场景 使用 结语 前言 相信大家已经对函数有了一定的理解了吧,那么来看看生成器和装饰器吧 生成器 按道理来说,生成器应该是和迭代器一起讲 ...
最新文章
- vue页面数据不显示_PHP7中session_start 使用注意事项,会导致浏览器刷时页面数据不更新...
- 十六、希尔排序即其优化(交换法--->移动法)
- 前端面试常考知识点---js
- java切换系统输入法_java - 关于Android输入法切换的问题
- Magic Powder - 2
- Vue axios发送Http请求
- java 运行 加载jar,java运行时加载额外的 jar 包或 class
- 看徐坤的话剧《性情男女》
- 【Python CheckiO 题解】I Love Python!
- java的引用指的是什么_请问java里的引用是指什么啊?
- Python将迁移到GitHub
- 时间复杂度、空间复杂度,如何”不复杂“地学?
- python有趣小程序-知道了这个,你也能写出 Python 趣味小程序
- 【Codeforces 404C】Restore Graph
- 高焕堂Android架构技术全集
- 从 CCNA 到 CCIE
- 最短路径算法----Floyd-warshall(十字交叉算法证明)
- 再见,深圳!再见,腾讯!
- 我,35岁大专,高龄入职鹅厂,试用期未过被劝退(分享java面试宝典)
- excel中以文本形式保存长数字