python作为最有名的胶水语言,已经成为当下最热门的编程语言之一了,甚至一度打破了普通人和程序员之间的壁垒。
毋庸置疑,Python可以有很多有趣的代码实现,这里就整理介绍几个GitHub上简单、有趣且热门的代码项目。
话不多说,开始分享!【如果有你喜欢的模块或项目,记得给老K点赞哦!】
有趣、惊人(反直觉)、鲜为人知的 Python 代码集合片段,并讨论这些代码现象背后的原理。
非常全面实用 Python 备忘录。特别适合作为线上快查手册用,比如Python写正则的规范、进度条的库名、pandas处理数据的基本用法、一些常用项目的方法参数等。
有了这个项目,上述问题都可以快速找到即时使用的代码片段。示例代码:
# $ pip3 install tqdm
>>> from tqdm import tqdm
>>> from time import sleep
>>> for el in tqdm([1, 2, 3], desc='Processing'):
... sleep(1)
Processing: 100%|████████████████████| 3/3 [00:03<00:00, 1.00s/it]
使用少于500行的Python代码可以写什么?这个项目会给到你很多启发。每个项目都是业内大神开发的哦!
项目本身是英语版,中文翻译版还在进行中,有兴趣的小伙伴可以加入项目。
这个项目可以用简单的Python代码图解系统架构。
程序员在制定技术方案时,清晰的系统架构图至关重要。这个项目将绘制架构图所需的图标包装成相应的类别,可以通过Python代码实现调用,便捷易用。
文档中还有丰富的例子,可以在几分钟内掌握和实现用Python快速绘制精美清晰的架构图,节省拖动和调整连接的步骤,还可以重构代码,以应对不断迭代升级的架构。
with Diagram("Advanced Web Service with On-Premise", show=False):
ingress = Nginx("ingress")
metrics = Prometheus("metric")
metrics << Grafana("monitoring")
with Cluster("Service Cluster"):
grpcsvc = [
Server("grpc1"),
Server("grpc2"),
Server("grpc3")]
with Cluster("Sessions HA"):
primary = Redis("session")
primary - Redis("replica") << metrics
grpcsvc >> primary
with Cluster("Database HA"):
primary = PostgreSQL("users")
primary - PostgreSQL("replica") << metrics
grpcsvc >> primary
aggregator = Fluentd("logging")
aggregator >> Kafka("stream") >> Spark("analytics")
ingress >> grpcsvc >> aggregator
这是一个高性能的图形编程框架。它可以将Python代码转换成高效的汇编代码,在多 CPU 和 GPU 上操作,相当于使用Python写修饰器。
Taichi解决了图形学配置环境难、代码移植性差等问题,通过pip install taichi就可以安装。示例代码:
import taichi as ti
ti.init(arch=ti.gpu) # 指定编译后的函数在 GPU 上执行
n = 320
pixels = ti.field(dtype=float, shape=(n * 2, n)) # 提前声明数组存储类型,大小
@ti.func # 该函数将是被调用的过程函数
def complex_sqr(z):
return ti.Vector([z[0]**2 - z[1]**2, z[1] * z[0] * 2])
@ti.kernel # 该函数将被 Taichi 编译
def paint(t: float):
for i, j in pixels: # 最外层循环会自动并行化
c = ti.Vector([-0.8, ti.cos(t) * 0.2])
z = ti.Vector([i / n - 1, j / n - 0.5]) * 2
iterations = 0
while z.norm() < 20 and iterations < 50: # 其他语法和原生 Python 基本一致
z = complex_sqr(z) c
iterations = 1
pixels[i, j] = 1 - iterations * 0.02
gui = ti.GUI("Julia Set", res=(n * 2, n))
for i in range(1000000):
paint(i * 0.03)
gui.set_image(pixels)
gui.show()
一个只有几百行的Python代码项目,可以很容易地实现数据分析的可视化,也是当前Python社区数据中主要的可视化工具之一。具有使用简单、扩展方便、开发团队活跃等特点。
即插即用的OCR工具,支持多种自然语言的即用型Python OCR。包括中文、日文、韩文等。示例代码:
import easyocr
reader = easyocr.Reader(['ch_sim','en']) # need to run only once to load model into memory
result = reader.readtext('chinese.jpg')
# 输出
[([[189, 75], [469, 75], [469, 165], [189, 165]], '愚园路', 0.3754989504814148),
([[86, 80], [134, 80], [134, 128], [86, 128]], '西', 0.40452659130096436),
([[517, 81], [565, 81], [565, 123], [517, 123]], '东', 0.9989598989486694),
([[78, 126], [136, 126], [136, 156], [78, 156]], '315', 0.8125889301300049),
([[514, 126], [574, 126], [574, 156], [514, 156]], '309', 0.4971577227115631),
([[226, 170], [414, 170], [414, 220], [226, 220]], 'Yuyuan Rd.', 0.8261902332305908),
([[79, 173], [125, 173], [125, 213], [79, 213]], 'W', 0.9848111271858215),
([[529, 173], [569, 173], [569, 213], [529, 213]], 'E', 0.8405593633651733)]
介绍Python有趣而神奇的开源项目。目前涵盖多个领域,包括407个不同项目。项目为英文,需要具备一定的英语基础。
一个简单的Python迷你脚本集合。虽然代码简单,但并不缺乏实用性,如添加水印、批量下载、发送电子邮件、定期截屏等。有趣又易上手。
基于 Python 实现的复古游戏引擎。示例代码:
# 代码中导入 Pyxel 模块后
import pyxel
# 首先使用 init 函数指定窗口大小
pyxel.init(160, 120)
def update():
if pyxel.btnp(pyxel.KEY_Q):
pyxel.quit()
def draw():
pyxel.cls(0)
pyxel.rect(10, 10, 20, 20, 11)
# 最后然后使用 run 函数启动 Pyxel 应用程序
pyxel.run(update, draw)
用 Python 写的 GameBoy 模拟器。不仅可以用来怀念童年,还可以用这个库写插件和外挂,之前虐你几千遍的游戏,现在用 Python 让你体验造物主的快感!
示例代码:
from pyboy import PyBoy
pyboy = PyBoy('ROMs/gamerom.gb')
while not pyboy.tick():
pass
这么多有趣的项目,难道不值得你赞一个嘛~
我之前还分享过Github上其他有趣的项目,包含各种编程语言,有需要的同学可以直接点击下方链接获取:
结束语我是,专注于编程开发的经验总结和项目分享,对编程有兴趣、正在学习编程的同学可以关注我。
Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved