
【千锋教育干货暴击】
如果你想更好的学习python乃至转行,弯道超车,快人一步!本课程零基础即可加入学习,抓住大数据、机器学习、人工智能时代的红利,开启你的第一行代码吧!
↓ ↓ ↓
千锋教育Python教程全套_python零基础入门到精通(学完可达到Python工程师水平)


大家好!我是宋宋老师!发现了好的东西当然不能吝啬,要给大家分享出来。
其实最近一直在想,我们的【趣味干货】专栏应该给大家准备什么样子的文章,大家才对大家有帮助、感兴趣。
当然如果大家有什么喜欢的内容、或者想了解的内容,非常希望大家能在评论区告诉我。
今天给大家分享几个Github上标星🌟的项目吧!
最近在写爬虫程序的时候,需要下载多张图片并进行处理,有时每张图片处理时间还较长的场景。这个等待过程如果不加一个进度条感觉怪怪的。所以去Github上找了一圈,发现alive-progress使用起来很香分享给大家。
项目地址:https://github.com/rsalmei/alive-progress,但是里面的说明文档全是英文呢!鼓励大家读文档,但是实在英文不好的朋友就看下面的介绍吧

看到这么多可选择的进度条,是不是瞬间神清气爽,哈哈哈 😂,下面介绍一下使用:
安装:
pip/pip3 install alive-progress 使用:假设我们要处理图片,我们使用time.sleep来模拟延时的操作
# 1. 导入
import time
from alive_progress import alive_bar
# 使用alive_bar创建对象
with alive_bar(100,bar='bubbles') as bar:
for i in range(100):
time.sleep(0.05)
bar() 结果:

其中alive_bar后面的第一个参数就是指进度条的总长,而with里面的for循环,是表示每循环一次增加一个百分比,即上图中97位置的数字。
alive_bar里面的参数还有关键字bar='bubbles',那后面的只有bubbles吗?不是!可以使用show_bars()函数查看

还可以指定length参数在后面,用于设定进度条的长度,比如:alive_bar(100,bar='bubbles',length=20)长度就会变短了。

一个将碎片化时间利用到极致的github项目《30-seconds-of-python》。
项目地址:https://github.com/30-seconds/30-seconds-of-python

比如找出两个列表的不同
def difference(a, b):
_b = set(b)
return [item for item in a if item not in _b]
difference([1, 2, 3], [1, 2, 4]) # 【3】 再比如将数据分组:
from collections import defaultdict
def group_by(lst, fn):
d = defaultdict(list)
for el in lst:
d[fn(el)].append(el)
return dict(d)
from math import floor
group_by([6.1, 4.2, 6.3], floor) # 结果: {4: [4.2], 6: [6.1, 6.3]}
group_by(['one', 'two', 'three'], len) # 结果: {3: ['one', 'two'], 5: ['three']} 里面全部是小技巧,有近百个小的代码,适用日常的一些小的开发需求。
盲水印不仅仅用于图片,也可应用于像音频这种数据流。盲水印隐蔽性强,给水印数据进行编码过后不易被破解出来。这是它最大的优势。
有一篇文章就是:阿里根据截图查到泄露者,用的什么黑科技?(数字盲水印)
项目地址:https://github.com/guofei9987/blind_watermark
下面看一下如何对图片添加盲水印。原图:

水印图:

通过代码实现盲水印:
安装:
pip install blind-watermark 使用:
from blind_watermark import WaterMark
bwm1 = WaterMark(password_wm=1, password_img=1)
# 读取原图
bwm1.read_img('pic/dog.jpg')
# 读取水印
bwm1.read_wm('pic/watermark.png')
# 打上盲水印
bwm1.embed('output/dog1.png') 得到的是:

但是各位看出来加水印了嘛?如果你盗用图片小心侵权哦!其实这个对淘宝的商家模特图片更有价值,防止盗图。
Python 语言编写的植物大战僵尸,学习如何使用 Python 编写小游戏的极佳例子,下载地址:https://github.com/marblexu/PythonPlantsVsZombies
运行步骤:
需要 Python 3
安装依赖库:pip install pygame
python main.py

另一个是基于 PyQt 框架写的小型桌面应用程序的集合。想用 Python 写桌面应用的小伙伴,这个项目应该可以帮到你。
项目地址:https://github.com/learnpyqt/15-minute-apps
比如写个扫雷游戏:

还有纸牌游戏等,想研究桌面程序的可以收藏哦!

如果需要源代码可以评论区留言哦。
最后福利大赠送:太太太喜欢这个网站啦!专注分享Github上有趣、入门级的项目。


需要资料也可以关注微信公众号:Python专栏,事不宜迟,一起进步吧!
