百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

PyHubWeekly | 第二期:Github上那些简单且值得推荐的Python项目

off999 2024-09-14 07:16 67 浏览 0 评论

前言

上一周,我写了一篇总结GitHub上优质Python项目的文章,文章发出之后在公众号和知乎受到很多同学的喜爱和认可,这有一些出乎我的意料。

思索一下,这的确是一件很值得去做的事情。<!--more-->这一年来我养成了一个每天逛一逛GitHub的习惯,因为我个人对新鲜事物充满着好奇心,或者是有趣的项目、或者是实用的小工具,我期望能够在GitHub上能够遇到我想要的东西。

GitHub是一个鱼龙混杂的地方,上面的确有很多不错的开源项目,但是,更多的是一些灌水的项目,例如,某些教育机构的大作业,例如,那些每天刷榜的中文无聊的项目。因此,虽然我每天都会花费一部分时间去浏览GitHub,但是真正让我内心觉得这个项目“不错”的却少之又少。我想,也许这就是为什么我上一篇文章受到认可的原因吧。

既然这样,我想倒不如花费一部分精力去开辟一些专门介绍GitHub上优质Python项目的版块,名称就叫PyHubWeekly,主要宗旨有两点:

  • 每周更新一次
  • 精选GitHub上优质Python项目

对于这个模块,我的想法是不追求数量而追求质量,换句话说,也许有的时候能介绍10个项目,有的时候只介绍1个项目,不会为了拼凑数量而一味的去美化一个项目,把它描绘的天花乱坠。也许有一天Python被淘汰了,而且优质的项目有穷有尽,再或者各位关注者对于这类文章失去了兴趣,那样的话,PyHubWeekly这个版块也就走到了尽头。

另外,针对PyHubWeekly,我的定位是通过每篇文章去介绍一些有趣,值得去了解的GitHub项目,因此,对于每个项目不会去深入介绍,会简单的介绍一些它的功能以及它的特点。如果其中我个人认为哪个项目非常不错,或者各位同学对于哪个项目特别感兴趣,我会单独再写一篇详细介绍这个项目的文章。

当然,无论写哪方面的文章,出发点都会坚持自己的初心,坚持原创、坚持与众不同,希望自己分享能够切实的帮助到需要的同学。

下面就开始介绍本期的5个项目。

1. Gooey

Star:8.5k

这是一个将Python 2或3控制台程序转换为GUI应用程序工具,

Gooey通过简单的在argarse上调用装饰器的方式就可以实现程序的界面化,如果需要进行更精细的调整,则可以使用嵌入式替换GooeyParser代替ArgumentParser,

2. memory_profiler

Star:2k

Python是一门相对简单的编程语言,这里所说的简单是指入门简单。因此,很多人忽略了程序底层的内容,例如,空间复杂度、时间复杂度等。对于很多人来说写完程序能够跑通即可,但是一个好的程序要兼备考虑程序的复杂度、内存占用等。

这是一个依赖于psutil的python模块,用于监视进程的内存消耗,以及对python程序的内存消耗进行逐行分析。

@profile
def my_func():
    a = [1] * (10 ** 6)
    b = [2] * (2 * 10 ** 7)
    del b
    return a
?
if __name__ == '__main__':
    my_func()

执行程序,

$ python -m memory_profiler example.py
Line #    Mem usage  Increment   Line Contents
==============================================
     3                           @profile
     4      5.97 MB    0.00 MB   def my_func():
     5     13.61 MB    7.64 MB       a = [1] * (10 ** 6)
     6    166.20 MB  152.59 MB       b = [2] * (2 * 10 ** 7)
     7     13.61 MB -152.59 MB       del b
     8     13.61 MB    0.00 MB       return a

3. pyecharts

Star:7.8k

在Python开发中,提到画图应该十有八九会想到matplotlib,它是一个老牌且强大的绘图库,但是,在使用过程中有一些弊端,例如,不适合离线查看、支持的绘图接口较为单一。

Echarts 是一个由百度开源的数据可视化,凭借着良好的交互性,精巧的图表设计,得到了众多开发者的认可。而 Python 是一门富有表达力的语言,很适合用于数据处理。当数据分析遇上数据可视化时,pyecharts 诞生了。它能够把绘图结果保存为一个html文件,能够动态展示绘图结果,且随时可以打开查看。另外,它支持的绘图类型非常丰富。

4. wtfpython

Star:18.6k

wtfpython这个Python项目两年前就有所耳闻,首先说一下它的全名,比较粗俗“What the f*ck Python!”,就如同前面所说的那样,虽然很多人认为Python非常容易,但是它也有很多不为人知的特性。

有很多点按照我们的理解应该是这样的,但是当运行之后却发现和我期望的结果有很大出入,具体问题出现在哪了,却很难找出来。wtfpython这个项目就总结了这些不为人知的特性,能够让你发现更多Python令人惊奇的地方。

例如,下面这个例子,

some_dict = {}
some_dict[5.5] = "Ruby"
some_dict[5.0] = "JavaScript"
some_dict[5] = "Python"

输出,

>>> some_dict[5.5]
"Ruby"
>>> some_dict[5.0]
"Python"
>>> some_dict[5]
"Python"

按照正常的结果some_dict[5.0]不是应该输出“JavaScript”吗?为什么输出了“Python”?下面就是解释,

5. tqdm

Star:12.9k

tqdm是一个Python进度条工具,如果刚开始学习Python时,我会对它不屑一顾,编程语言本身还没有学明白,为什么要用这些花里胡哨的东西?简直就是鸡肋!

但是,当开发项目久了以后才发现,它有着不可替代的价值。就如同我们排号吃饭一样,我们希望实时的监控着当前事件进行到什么程度了,Python开发也是这样,我们不能一直把它挂在那里,留给我们一个空白的shell,具体是进程死掉了,还是读数据库时出现了问题,都不清楚,有着这个进度条,能够对我们的运行过程一目了然。


相关推荐

设置自动关机不显示提示窗口

一.首先我们要处理掉一个可能性到"我的电脑按"右键-->属性-->高级-->按下"启动及修复"-->把下面"系统失败"那框框的三个选项取消勾选.当把这三个选择取消后.能解决大部...

win7依赖服务或组无法启动怎么办
  • win7依赖服务或组无法启动怎么办
  • win7依赖服务或组无法启动怎么办
  • win7依赖服务或组无法启动怎么办
  • win7依赖服务或组无法启动怎么办
photoshop cs6破解(photoshop cs6破解版)
  • photoshop cs6破解(photoshop cs6破解版)
  • photoshop cs6破解(photoshop cs6破解版)
  • photoshop cs6破解(photoshop cs6破解版)
  • photoshop cs6破解(photoshop cs6破解版)
笔记本电脑忘记密码打不开怎么办
  • 笔记本电脑忘记密码打不开怎么办
  • 笔记本电脑忘记密码打不开怎么办
  • 笔记本电脑忘记密码打不开怎么办
  • 笔记本电脑忘记密码打不开怎么办
win7安全模式进去也黑屏(win7安全模式黑屏只有鼠标能动)

分辨率设置超出范围或者显卡驱动有问题导致的。解决方法:1、开机按F8选择安全模式进入安全模式。2、在安全模式桌面用鼠标右键点我的电脑,属性,打开设备管理器,展开设备管理器,用鼠标右键选择显卡驱动卸载...

win7激活程序(win7激活程序怎么用)

windows7的激活方法如下1、首先打开计算机,在计算机内找到暴风激活工具选项并使用鼠标右键点击,然后在弹出的选项栏内找到“以管理员身份运行”选项并使用鼠标点击。2、激活工具自动识别到win7版本,...

怎么更新ie浏览器(贴吧热门评论)
  • 怎么更新ie浏览器(贴吧热门评论)
  • 怎么更新ie浏览器(贴吧热门评论)
  • 怎么更新ie浏览器(贴吧热门评论)
  • 怎么更新ie浏览器(贴吧热门评论)
台式电脑联网怎么连接(台式电脑以太网怎么连接)

电脑连接家庭网络连接方法如下1.首先我们要检查自己的网络连接。检查网络连接的方法很简单,我们只需要把鼠标放到屏幕的上方,用右键点击一下桌面,点击“个性化”即可。  2.进入页面后我们点击左上方的主页。...

鸿蒙os系统(鸿蒙OS系统更新)

鸿蒙os是分布式模块化的一个系统!所谓的模块化就是它可以根据终端的不同,开发成不同的模块!但最底层都是一样的,都是鸿蒙!所以你会在电视,智能手表,手机等等产品上看到鸿蒙!鸿蒙是华为基于万物互联而打造的...

360手机助手极速版(360手机助手官方下载安装)

可以的,手机助手里面有很多功能,有手机加速悬浮球一、打开设定-关于设备-系统更新-更新。通过在线固件升级(FOTA)服务下载并安装固件更新。注:使用FOTA软件升级所需条件:1、稳定的WI-FI或...

幻影wifi手机版官网(幻影wifi2020官网版)

  第一步、下载最新版“幻影Wifi破解软件”。  第二步、下载之后安装至手机。  第三步、安装成功后,就可以打开软件,之后该幻影Wifi破解软件会自动扫描接收到信号的WIFI,并且会显示几格信号...

怎么把c盘扩大(pe系统怎么把c盘扩大)

C盘的内存通常是指C盘的存储空间,而存储空间不能从别的盘直接增加,必须通过调整分区大小或者更换大容量硬盘来实现。具体操作可以通过以下两种方式之一:1.磁盘管理工具:在计算机的“控制面板”中找到“管理工...

chrome 安卓下载(chrome安卓下载apk)

安卓手机可以先下载一个应用宝,然后在应用宝上下载一个谷歌地球,随后再下载一个ourplay,将之前下载的谷歌地球导入进ourplay就好了,谷歌地球就能使用了,我自己的手机就是这么操作的

最流畅的浏览器(浏览器流畅度排名)

我觉得QQ浏览器9.0就不错,我也是喜欢在浏览器上看视频,朋友给我推荐的这款。这款浏览器是以“快”著称的,体现在很多方面,上网速度快,平常看视频、玩游戏都是很流畅的,因为这款浏览器在系统的稳定性和流畅...

sm总线控制器驱动下载(sm总线控制器是什么驱动程序)

SM总线控制器是主板控制芯片上的一个通信控制器.它主要是希望通过一条廉价并且功能强大的总线(由两条线组成),来控制主板上的设备并收集相应的信息。MBus为系统和电源管理这样的任务提供了一条控制总线,使...

取消回复欢迎 发表评论: