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

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

  1. 趁着课余时间学点Python(十)面向对象的理解(前奏)

    文章目录 前言 正文 面向过程 面向对象 类和对象 类 构造方法 对象 用Python代码展示洗衣服例子 面向过程洗衣服 面向对象洗衣服 结语 前言 说起来这一篇本打算早就写的,因博主沉迷小说耽搁了 ...

  2. 趁着课余时间学点Python(十二)面向对象的理解(结局)

    文章目录 前言 1. 私有化 1.1 属性私有化 1.2 方法私有化 2. 重写 3. 魔术方法 3.1 __init__方法 3.2 __str__方法 3.3 __del__方法 3.4 __ne ...

  3. 趁着课余时间学点Python(十四)文件操作

    文章目录 ☀️ 前言 ☀️

  4. 趁着课余时间学点Python(十六)多线程编程

    文章目录 ☀️ 前言 ☀️

  5. 趁着课余时间学点Python(八)函数的简单理解

    文章目录 前言 函数 无参函数 定义一个无参函数 调用这个无参函数 把我们的例子打出来 有参函数 定义和调用 实例 return的使用 例子 结语 前言 来了,他来了,函数篇! 学了函数才算是能推动p ...

  6. 趁着课余时间学点Python(七)一篇文了解迭代器

    文章目录 前言 迭代器 迭代器的基本方法 小练习 结语 前言 好了,我们言归正传,啊,不对,我们继续道来.我们今天就说说迭代器! 这个词是不是看着比较高大上,感觉学不会?没事,今天我就带着你们征服他们 ...

  7. 趁着课余时间学点Python(十三)异常处理

    文章目录 前言 一.异常/错误 1 编译时错误 2. 运行时错误 3. 逻辑型错误 二.异常处理 1. 捕获异常 1.1 try except finally语句 1.2 try except els ...

  8. 趁着课余时间学点Python(六)终止循环,阻断循环

    文章目录 前言 条件控制语句的补充 break continue return 结语 前言 如果我需要设置一个死循环,然后靠条件来终止,怎么办? 一个很简单的问题,但是我却没有说,这一篇本应该在分支控 ...

  9. 趁着课余时间学点Python(九)函数的进阶 生成器 装饰器的理解

    文章目录 前言 生成器 为什么使用 格式 嵌套函数 装饰器 使用场景 使用 结语 前言 相信大家已经对函数有了一定的理解了吧,那么来看看生成器和装饰器吧 生成器 按道理来说,生成器应该是和迭代器一起讲 ...

最新文章

  1. vue页面数据不显示_PHP7中session_start 使用注意事项,会导致浏览器刷时页面数据不更新...
  2. 十六、希尔排序即其优化(交换法--->移动法)
  3. 前端面试常考知识点---js
  4. java切换系统输入法_java - 关于Android输入法切换的问题
  5. Magic Powder - 2
  6. Vue axios发送Http请求
  7. java 运行 加载jar,java运行时加载额外的 jar 包或 class
  8. 看徐坤的话剧《性情男女》
  9. 【Python CheckiO 题解】I Love Python!
  10. java的引用指的是什么_请问java里的引用是指什么啊?
  11. Python将迁移到GitHub
  12. 时间复杂度、空间复杂度,如何”不复杂“地学?
  13. python有趣小程序-知道了这个,你也能写出 Python 趣味小程序
  14. 【Codeforces 404C】Restore Graph
  15. 高焕堂Android架构技术全集
  16. 从 CCNA 到 CCIE
  17. 最短路径算法----Floyd-warshall(十字交叉算法证明)
  18. 再见,深圳!再见,腾讯!
  19. 我,35岁大专,高龄入职鹅厂,试用期未过被劝退(分享java面试宝典)
  20. excel中以文本形式保存长数字

热门文章

  1. 6成上班族存够10万才敢裸辞,现实多扎心,看辞职态度就够了!
  2. MATLAB Communication System(4)通信系统的信源与信道一
  3. 「镁客·请讲」慧川智能康洪文:打造一个“AI+视频云平台”的中央厨房
  4. 戴尔台式机win7系统u盘插上去没反应
  5. 学习Bash相关知识
  6. Iphone/Android开发囧事
  7. 网站后台管理模板(4个)
  8. 循环中频繁查询数据库优化
  9. 爬取新浪、网易、今日头条、UC四大网站新闻标题及内容
  10. 台达变频器力矩控制在铝箔纸压花机上的应用