一、Python模块与包

python中模块与包的含义

1. Python模块与包

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

1.1 模块

模块是一个py文件

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

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

  1. 自定义模块:textmodel.py

    def print_f(a):
        print(a)
        
    
  2. 另一个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的文件

这样就是一个包了

  1. 在text文件夹新建一个textpackage.py

    def print_f(a):
        print(a)
    
  2. 和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/m0_52883898
图片地址:C:\ITStudy\ITtools\pythontool\test.jpg
命令:myqr https://blog.csdn/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/m0_52883898
图片地址:C:\ITStudy\ITtools\pythontool\test.gif
命令:myqr https://blog.csdn/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")
    
  3. 运行代码,等待运行完成

看看效果:

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(十五)有趣的小模块