趁着课余时间学点Python(十五)有趣的小模块

简介: 趁着课余时间学点Python(十五)有趣的小模块



一、Python模块与包

python中模块与包的含义

1. Python模块与包

模块是单个的py文件,包是包含多个py文件的文件夹

1.1 模块

模块是一个py文件

我们自己创建一个py文件就是一个模块

我们可以对他进行导入的操作,然后使用

  1. 自定义模块:textmodel.py
def print_f(a):
    print(a)
  1. 另一个py文件:模块.py
    导入的时候记得要让两个文件同路径
    我们导入自定义模块,然后使用自定义函数
# 第一种方法
import textmodel
textmodel.print_f("第一种方法:直接导入 测试成功")
# 第二种方法
from textmodel import print_f
print_f("第二种方法:精确导入某函数 测试成功")
# 第三种方法
import textmodel as tm
tm.print_f("第三种方法:导入起别名 测试成功")

导入别人的模块和内置模块也可以这样

项目文件夹:

image.png

1.2 包

包就是一个含有__init__.py的文件夹

我们在项目目录下创建一个文件夹text,然后在里面放一个__init__.py的文件

这样就是一个包了

  1. 在text文件夹新建一个textpackage.py
def print_f(a):
    print(a)
  1. 和text同目录的模块.py文件
from text import textpackeg
textpackeg.print_f("包测试成功")

项目文件夹:

image.png

text文件夹:

image.png

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

打开我们生成的二维码瞅一瞅:

image.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,还有更多功能等你来看哦

  1. 安装pip install moviepy
  2. 写代码
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")
  1. 运行代码,等待运行完成

看看效果:

image.png

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库之上篇【建议收藏】

结语

兴趣是最好的老师,坚持是不变的真理。

学习不要急躁,一步一个脚印,踏踏实实的往前走。

每天进步一点点,日积月累之下,你就会发现自己已经变得很厉害了。

我是布小禅,一枚自学萌新,跟着我每天进步一点点吧!

说了这么多暂时也就够了,那么就告辞吧

你想学的,我这里都有!!

image.png

目录
打赏
0
0
0
0
5
分享
相关文章
如何在Python中管理模块和包的依赖关系?
在实际开发中,通常会结合多种方法来管理模块和包的依赖关系,以确保项目的顺利进行和可维护性。同时,要及时更新和解决依赖冲突等问题,以保证代码的稳定性和可靠性
180 62
[oeasy]python070_如何导入模块_导入模块的作用_hello_dunder_双下划线
本文介绍了如何在Python中导入模块及其作用,重点讲解了`__hello__`模块的导入与使用。通过`import`命令可以将外部模块引入当前环境,增强代码功能。例如,导入`__hello__`模块后可输出“Hello world!”。此外,还演示了如何使用`help()`和`dir()`函数查询模块信息,并展示了导入多个模块的方法。最后,通过一个实例,介绍了如何利用`jieba`、`WordCloud`和`matplotlib`模块生成词云图。总结来说,模块是封装好的功能部件,能够简化编程任务并提高效率。未来将探讨如何创建自定义模块。
35 8
[oeasy]python071_我可以自己做一个模块吗_自定义模块_引入模块_import_diy
本文介绍了 Python 中模块的导入与自定义模块的创建。首先,我们回忆了模块的概念,即封装好功能的部件,并通过导入 `__hello__` 模块实现了输出 "hello world!" 的功能。接着,尝试创建并编辑自己的模块 `my_file.py`,引入 `time` 模块以获取当前时间,并在其中添加自定义输出。
23 4
|
3月前
|
Python Internet 模块
Python Internet 模块。
141 74
马特赛特旋转算法:Python的随机模块背后的力量
马特赛特旋转算法是Python `random`模块的核心,由松本真和西村拓士于1997年提出。它基于线性反馈移位寄存器,具有超长周期和高维均匀性,适用于模拟、密码学等领域。Python中通过设置种子值初始化状态数组,经状态更新和输出提取生成随机数,代码简单高效。
156 63
|
4月前
|
Python的模块和包
总之,模块和包是 Python 编程中非常重要的概念,掌握它们可以帮助我们更好地组织和管理代码,提高开发效率和代码质量
146 61
如何在Python中解决模块和包的依赖冲突?
解决模块和包的依赖冲突需要综合运用多种方法,并且需要团队成员的共同努力和协作。通过合理的管理和解决冲突,可以提高项目的稳定性和可扩展性
手动解决Python模块和包依赖冲突的具体步骤是什么?
需要注意的是,手动解决依赖冲突可能需要一定的时间和经验,并且需要谨慎操作,避免引入新的问题。在实际操作中,还可以结合使用其他方法,如虚拟环境等,来更好地管理和解决依赖冲突😉。
如何在Python中自动解决模块和包的依赖冲突?
完全自动解决所有依赖冲突可能并不总是可行,特别是在复杂的项目中。有时候仍然需要人工干预和判断。自动解决的方法主要是提供辅助和便捷,但不能完全替代人工的分析和决策😉。
|
2月前
|
[oeasy]python057_如何删除print函数_dunder_builtins_系统内建模块
本文介绍了如何删除Python中的`print`函数,并探讨了系统内建模块`__builtins__`的作用。主要内容包括: 1. **回忆上次内容**:上次提到使用下划线避免命名冲突。 2. **双下划线变量**:解释了双下划线(如`__name__`、`__doc__`、`__builtins__`)是系统定义的标识符,具有特殊含义。
42 3

热门文章

最新文章