百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 文章教程 > 正文

学Python都用来干嘛?这7个方向最热门

yund56 2025-02-27 13:34 20 浏览

Python是当下最热门的编程语言之一。

学会Python之后,我们可以利用它来做很多事情。

本期,老K就要分享那些Python可以实现的功能以及相应的小项目。

一起来看看都有哪些功能吧。

一、制作游戏

Python可以做游戏,而且做出来的游戏,除了3D渲染可能不太行,其它各方面效果还不错!

以下是几个小项目:

1.1 pyxel

  • url: github.com/kitao/pyxel
  • star: 11000

这是一个基于 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)

1.2 pygame

  • url: github.com/pygame/pygame
  • star: 5600

这个项目是用来开发游戏的Python库。

Pygame已经持续更新多年,网上的教程和资料十分充足,虽然在游戏开发领域Python只是个弟弟,但如果只是用这个库开发个2D小游戏还是很顺手的。

推荐给想用Python写个小游戏的朋友。

1.3 PyBoy

  • url: github.com/Baekalfen/PyBoy
  • star: 3700

Python写的GameBoy模拟器。不仅可以用来怀念童年,还能用这个库写“外挂”,之前虐你千百遍的游戏,现在用 Python 找回场子,放学别走,学校门口见!

示例代码:

from pyboy import PyBoy
pyboy = PyBoy('ROMs/gamerom.gb')
while not pyboy.tick():
    pass

二、 数据分析

数据分析是Python常见的应用领域之一,涉及数据分析的实际场景也很多。

数据分析的形式多种多样,有数据清洗、数据治理、数据可视化等更多细分领域,是一个可以深挖的应用常见。

以下分享几个小项目:

2.1 superset

  • url: github.com/apache/superset
  • star: 50000

企业级的数据探索、展示平台。功能很强大,可以用来做数据分析、展示。如下图:

2.2 dash

  • url: github.com/plotly/dash
  • star: 18000

一款只用几百行 Python 代码就可以轻易实现数据分析可视化的利器,是目前 Python 社区数据可视化主要的工具之一。

具有:使用简单、易于扩展、开发团队活跃等特点。

2.3 altair

  • url: github.com/altair-viz/altair
  • star: 8000

强大的数据可视化 Python 库。支持多种数据展示方式、接口简单、效果炫酷,示例代码和效果如下:

import altair as alt
from vega_datasets import data

source = data.cars()
brush = alt.selection(type='interval')
points = alt.Chart(source).mark_point().encode(
    x='Horsepower',
    y='Miles_per_Gallon',
    color=alt.condition(brush, 'Origin', alt.value('lightgray'))
).add_selection(
    brush
)

bars = alt.Chart(source).mark_bar().encode(
    y='Origin',
    color='Origin',
    x='count(Origin)'
).transform_filter(
    brush
)

points & bars

三、 处理图像

Python还可以对图形进行各种处理,这种处理不仅限于图片,也包括视频,是离日常应用非常近的应用,也有很多新兴企业是基于这些业务场景发展起来的。

以下是几个小项目:

3.1 Real-ESRGAN

  • url: github.com/xinntao/Real-ESRGAN
  • star: 17000

图像超分辨率模型,修复漫画图像的效果惊艳。通过 AI 技术将低分辨率、模糊的图像修复成高清图像,可用于图像放大和提升质量。基于它实现的桌面工具,还有可以直接使用的 Python 脚本,快去试试效果吧

3.2 diagrams

  • url: github.com/mingrammer/diagrams
  • star: 28000

用 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

3.3 AugLy

  • url: github.com/facebookresearch/AugLy
  • star: 4600

Facebook 开源的一个数据增强 Python 库。该库目前支持音频、图像、文本和视频四种模式,一方面可以用现实数据对数据进行增强,另一方面还可以检测出相似内容,消除重复数据带来的干扰。


四、 文档处理

自从Python的广泛应用,已经有越来越多的人开始用Python来完成之前Office负责的工作了,这里包括邮件、文档等的处理。

再分享几个小项目:

4.1 MrDoc

  • url: github.com/zmister2016/MrDoc
  • star: 2300

一个基于 Python 开发的在线文档系统。支持 Markdown 语法、文集分类、科学公式、流程图、思维导图等内容。清爽的阅读界面,还可以把内容打包导出为 Markdown 文件、EPUB 文件、PDF 文件。

适合作为个人和小型团队的私有文档服务。

4.2 OCRmyPDF

  • url: github.com/ocrmypdf/OCRmyPDF
  • star: 7900

可以把 PDF 文件变成可搜索文件的工具。

它使用 Tesseract OCR 引擎,将 PDF 的内容识别成文本,然后给 PDF 文件增加 OCR 文本层。从而实现可搜索和复制 PDF 的内容,已支持 100 多种语言。

4.3 python-mini-projects

  • url: github.com/Python-World/python-mini-projects
  • star: 12000

一个简单的 Python 迷你脚本集合。虽然代码简单但其中不乏实用的 Python 脚本,比如图片添加水印、批量下载图片、发送电子邮件、定时截屏等。


五、 制作动画

无所不能的Python,甚至可以帮你完成简单的动画制作,这里有几个不错的项目分享:

5.1 manim

  • url: github.com/3b1b/manim
  • star: 49000

一个生成数学教学视频的动画引擎。它用编程的方式创建精美的数学动画,让数学更加易懂。效果如 3Blue1Brown 的视频中所展示的那样,效果炫酷。但要学会和用好这个工具需要花些精力。

5.2 PathPlanning

  • url: github.com/zhm-real/PathPlanning
  • star: 5100

常见的路径规划算法集合。项目包含了 Python 代码实现、运行过程动画以及相关论文。

5.3 vardbg

  • url: github.com/CCExtractor/vardbg
  • star: 1000

一款能够把 Python 程序执行过程,导出成视频或动图的代码调试工具。可用于动画学算法、制作代码讲解视频等场景。


六、 开发网站

这是任何一种编程语言都应该具备的能力,Python当然也不例外!

Python有着大量实用、高效的网站开发框架,主流的有Flask、Django等。

6.1 reddit

  • url: github.com/reddit-archive/reddit
  • star: 16000

reddit.com 网站的源码,通过这个项目,可以学习 Python 在构建大型项目中的使用、项目结构、代码风格、Python 技巧的使用方法等。

6.2 ArchiveBox

  • url: github.com/ArchiveBox/ArchiveBox
  • star: 15000

基于 Python 实现的网站归档平台。就是可以自动把网页(HTML、PDF、图片等)变成静态页面,下载到本地存储和管理的工具。可以用来做镜像站、档案馆、离线阅读等。

6.3 pinry

  • url: github.com/pinry/pinry
  • star: 2700

分享图片的开源网站。该项目前后端分离采用 Vue.js + Django 等技术栈,网站以平铺的方式展示图片,支持浏览、上传和搜索图片以及管理后台、个人页、增加标签等功能。


七、 人工智能

最后提到的是人工智能,这也是Python能站上这一轮编程语言风口上的原因。现实中有太多人工智能算法应用到的场景了。

大致分一下类可以归纳以下几种:计算机视觉、自然语言处理、结构数据挖掘、推荐系统等。

7.1 annoy

  • url: github.com/spotify/annoy
  • star: 11000

用于近似最近邻搜索的算法库。近似最近邻(ANN)方法是指一系列解决最近邻查找问题的近似算法,多用于内容推荐、搜索等场景。该项目是封装好的 C++/Python Annoy 算法库。Annoy 是用树为数据结构的 ANN 算法实现,它通过随机投影创建二叉树构建索引提升查询效率,采用优先队列和“森林”查询方法提高准确率,实现海量数据下的实时搜索。

from annoy import AnnoyIndex
import random

f = 40  # Length of item vector that will be indexed

t = AnnoyIndex(f, 'angular')
for i in range(1000):
    v = [random.gauss(0, 1) for z in range(f)]
    t.add_item(i, v)

t.build(10) # 10 trees
t.save('test.ann')

# ...

u = AnnoyIndex(f, 'angular')
u.load('test.ann') # super fast, will just mmap the file
print(u.get_nns_by_item(0, 1000)) # will find the 1000 nearest neighbors

7.2 scikit-opt

  • url: github.com/guofei9987/scikit-opt
  • star: 3700

一个封装了 7 种启发式算法的 Python 代码库。分别是:差分进化算法、遗传算法、粒子群算法、模拟退火算法、蚁群算法、鱼群算法、免疫优化算法,示例代码:

from sko.GA import GA_TSP

ga_tsp = GA_TSP(func=cal_total_distance, n_dim=num_points, size_pop=50, max_iter=500, prob_mut=1)
best_points, best_distance = ga_tsp.run()

7.3 snake

  • url: github.com/chuyangliu/snake
  • star: 1400

贪吃蛇游戏 AI 版,通过算法实现让小蛇通过吃豆,最后蛇的身体填满整个地图算结束。该项目详细描述实现思想以及相关算法的讨论


暂时先分享到这里啦。

分享的这些项目仅作抛砖引玉,更多的应用场景,需要你自己动手发现!

感谢你看到这里,离开之前记得点赞哦。

结束语

我是@老K玩代码,专注于编程开发的经验总结和项目分享,对编程有兴趣、正在学习编程的同学可以关注我。


#头条创作挑战赛#

相关推荐

SM小分队Girls on Top,女神战队少了f(x)?

这次由SM娱乐公司在冬季即将开演的smtown里,将公司的所有女团成员集结成了一个小分队project。第一位这是全面ACE的大姐成员权宝儿(BoA),出道二十年,在日本单人销量过千万,韩国国内200...

韩国女团 aespa 首场 VR 演唱会或暗示 Quest 3 将于 10 月推出

AmazeVR宣布将在十月份举办一场现场VR音乐会,观众将佩戴MetaQuest3进行体验。韩国女团aespa于2020年11月出道,此后在日本推出了三张金唱片,在韩国推出了...

韩网热议!女团aespa成员Giselle在长腿爱豆中真的是legend

身高163的Giselle,长腿傲人,身材比例绝了...

假唱而被骂爆的女团:IVE、NewJeans、aespa上榜

在韩国,其实K-pop偶像并不被认为是真正的歌手,因为偶像们必须兼备舞蹈能力、也经常透过对嘴来完成舞台。由于科技的日渐发达,也有许多网友会利用消音软体来验证K-pop偶像到底有没有开麦唱歌,导致假唱这...

新女团Aespa登时尚大片 四个少女四种style

来源:环球网

韩国女团aespa新歌MV曝光 画面梦幻造型超美

12月20日,韩国女团aespa翻唱曲《DreamsComeTrue》MV公开,视频中,她们的造型超美!WINTER背后长出一双梦幻般的翅膀。柳智敏笑容甜美。宁艺卓皮肤白皙。GISELLE五官精致...

女网友向拳头维权,自称是萨勒芬妮的原型?某韩国女团抄袭KDA

女英雄萨勒芬妮(Seraphine)是拳头在2020年推出的第五位新英雄,在还没有正式上线时就备受lsp玩家的关注,因为她实在是太可爱了。和其他新英雄不同的是,萨勒芬妮在没上线时就被拳头当成虚拟偶像来...

人气TOP女团是?INS粉丝数见分晓;TWICE成员为何在演唱会落泪?

现在的人气TOP女团是?INS粉丝数见分晓!现在爱豆和粉丝之间的交流方法变得多种多样,但是Instagram依然是主要的交流手段。很多粉丝根据粉丝数评价偶像的人气,拥有数百、数千万粉丝的组合作为全球偶...

韩国女团MVaespa Drama MV_韩国女团穿超短裙子跳舞

WelcometoDrama.Pleasefollow4ruleswhilewatchingtheDrama.·1)Lookbackimmediatelywhenyoufe...

aespa师妹团今年将出道! SM职员亲口曝「新女团风格、人数」

记者刘宛欣/综合报导南韩造星工厂SM娱乐曾打造出东方神起、SUPERJUNIOR、少女时代、SHINee、EXO等传奇团体,近年推出的aespa、RIIZE更是双双成为新生代一线团体,深受大众与粉丝...

南韩最活跃的女团aespa,新专辑《Girls》即将发布,盘点昔日经典

女团aespa歌曲盘点,新专辑《Girls》即将发布,期待大火。明天也就是2022年的7月8号,aespa新专辑《Girls》即将发行。这是继首张专辑《Savage》之后,时隔19个月的第二张专辑,这...

章泽天女团aespa出席戛纳晚宴 宋康昊携新片亮相

搜狐娱乐讯(山今/文玄反影/图科明/视频)法国时间5月23日晚,女团aespa、宋康昊、章泽天等明星亮相戛纳晚宴。章泽天身姿优越。章泽天肩颈线优越。章泽天双臂纤细。章泽天仪态端正。女团aespa亮...

Aespa舞台暴露身高比例,宁艺卓脸大,柳智敏有“TOP”相

作为SM公司最新女团aespa,初舞台《BlackMamba》公开,在初舞台里,看得出来SM公司是下了大功夫的,虽然之前SM公司新出的女团都有很长的先导片,但是aespa显然是有“特殊待遇”。运用了...

AESPA女团成员柳智敏karina大美女

真队内速度最快最火达成队内首个且唯一两百万点赞五代男女团中输断层第一(图转自微博)...

对来学校演出的女团成员语言性骚扰?韩国这所男高的学生恶心透了

哕了……本月4日,景福男子高中相关人士称已经找到了在SNS中上传对aespa成员进行性骚扰文章的学生,并开始着手调查。2日,SM娱乐创始人李秀满的母校——景福高中迎来了建校101周年庆典活动。当天,S...