这里记录每周值得分享的 Python 及通用技术内容,部分内容为英文,已在小标题注明。(本期标题取自其中一则分享,不代表全部内容都是该主题,特此声明。)
文章&教程
1、编程语言的错误处理模式
文章讨论了编程中处理错误的四种常见方法:返回错误代码(C、Go)、异常(Java、C#、Python、C++)、回调函数(JavaScript)和 Result 对象(Haskell、Rust、Kotlin)。对每种方法进行了分析,介绍了它们的优缺点以及使用时需要注意的地方。
2、深入理解 Python 虚拟机:描述器实现原理与源码分析
文章介绍了描述器的实现原理,分析了 CPython 源码中描述器相关的字节码指令,并使用 Python 代码解释了描述器的执行逻辑。文章出自 Github 上的《深入理解 Python 虚拟机系列》,该系列已含 20+ 文章。
3、人工智能 AI 孙燕姿模型应用实践
最近 AI 孙燕姿太火了!文章基于 Python3.10 和开源库 so-vits-svc(高表现力的语音合成模型)、Spleeter(人声和伴奏分离)和 FFMPEG(声音与伴奏合并),手把手演示了让 AI 孙燕姿演唱歌曲。(PS.由于担心侵权风险,so-vits-svc 项目已经归档了)
4、用 C 语言写一个 Python 包
文章介绍了 Python 的 C 语言 API 相关特性,最后实现了一个模仿官方 datetime
的 C 扩展模块。文章出自《Python 之 C 语言 API 系列教程》的第一篇,该系列目前已更新两篇。
5、Python 工具箱系列文章
这是一个系列文章,目前包含 31 篇文章,最近介绍的几个工具是数据库相关的:Neo4j(一个 NoSQL 图数据库,使用 Py2neo 操作)、PostgreSQL(一个关系型数据库,使用 Psycopg2 操作)、MongoDB、Access、ClickHouse、Redis 等。
6、PEP-713:可调用的模块(英文)
Łukasz Langa 发起的新提案,提议支持在模块的全局命名空间中定义一个__call__对象以使模块可直接调用,__call__对象可以是一个标准函数或任意可调用对象。提案目前是草稿状态,未采纳。
7、“Externally managed environments”:当 PEP-668 影响了 pip(英文)
在较新 Linux 系统上使用 pip install 时可能遇到“externally managed environment”错误。原因:Linux 发行版已预装某些 Python 包,pip install 可能导致系统包冲突。解决方法:开发时用虚拟环境;Docker 里不用系统 Python;需最新工具时用 pipx。Python 包管理较为痛苦,短时间内难以改善。
8、Bevy v2.0:Python 的依赖注入框架(英文)
Bevy v2.0 是一个强大的依赖注入框架,可以帮助简化 Python 应用程序的管理。文章介绍了三种解决依赖关系的方法:全局变量、参数传递和依赖注入。Bevy v2.0 使用的方法包括参数注入、属性注入、仓库和依赖构造函数等。
项目&代码
最近几个月,乘着人工智能的东风,Github 上天天都被 AI 相关的项目屠榜,相信读者们已经从各种渠道看到过那些知名的以 Python 为主的开源项目了。因此,为了不撞车,本周刊主要收录一些小而美的项目。本期以中文开发者的项目为主。
1、「数字生命」的服务端
一个“有生命的”语音助手 Python 项目,支持与前端通信、语音识别、chatGPT 接入和语音合成。前端部分可渲染人物动画、录音和播放声音。
2、一个基于VITS的简单易用的语音转换(变声器)框架
具有以下特点:使用 top1 检索替换输入源特征为训练集特征来杜绝音色泄漏;即便在相对较差的显卡上也能快速训练;使用少量数据进行训练也能得到较好结果(推荐至少收集 10 分钟低底噪语音数据);可以通过模型融合来改变音色(借助 ckpt 处理选项卡中的 ckpt-merge);简单易用的网页界面;可调用 UVR5 模型来快速分离人声和伴奏。
3、电子书翻译器(Calibre 插件)
一个可以将电子书翻译成指定语言(原文译文对照)的 Calibre 插件。支持多种翻译引擎,包括 Google 翻译、ChatGPT 以及 DeepL。支持所有 Calibre 所支持的电子书格式(输入格式 48 种,输出格式 20 种)。支持批量翻译、支持缓存续译、提供大量自定义设置。
4、跨平台的超轻量级嵌入式 Python 引擎
一个完全重写的超轻量级 Python 引擎,零依赖,零配置,可以在 Flash ≤ 64KB,RAM≤ 4KB 的平台下运行,极易部署和扩展,具有大量的中文文档和视频资料。
播客&视频
1、硬地骇客:大厂程序员构建 “小生意”,更加从容应对裁员潮
"每一位 hacker,每一位开发者,每一位程序员,都值得拥有一个属于自己的小生意”。这档播客已发布了几期关于独立开发者的话题,对作为程序员的我们,在技术、产品、创业等方面会有所启发。
2、Talk Python To Me #414:漫步创业之路(英文)
在 4 月的 PyCon 上,有一个专门展示新型 Python 创业公司的展台,叫做 Startup Row。在这期节目中,主播与这些公司的创始人分别聊了 5-10 分钟,这期节目同时包含了播客和视频。
3、PythonBytes #335:应该开始用 mojo 了么?(英文)
Mojo 是 LLVM 及 Swift 之父新开发的 AI 编程语言,号称比 Python 快 35000 倍。Mojo 已支持 Python 的许多核心特性,包括 async/await、错误处理、可变参数等等,但是它仍然处于早期阶段,缺少许多功能,比如还不支持类!
4、ChatGPT提示工程师|AI大神吴恩达教你写提示词(英文)
鼎鼎大名的吴恩达联合 OpenAI,推出了一个面向开发者的 ChatGPT 提示词课程。这是 B 站上的链接,配有双语字幕。
问题&讨论
1、如何系统地自学Python?
知乎上的一个热门问题,已有 7.4 万人关注和 1200+ 回答。
2、[吐槽] conda 真是太难用了! 如何优雅地管理 Python 环境?
v2ex 上的一个帖子,吐槽使用 Conda 遇到了各种问题,包括安装后找不到命令、安装依赖卡住不动、影响系统更新等等。
3、允许在 for 循环的循环头中使用推导式语法(英文)
这个帖子提出了一个想法:让 Python 的 for 循环支持推导式语法“for i in x if i % 2 == 0:”。
赞助&支持
内容创作不易,如果你觉得有帮助,请随意赞赏,或在爱发电进行支持!
关于周刊
Python 潮流周刊,精心筛选国内外的 200+ 信息源,为你挑选最值得分享的文章、教程、开源项目、软件工具、播客和视频、热门话题等内容。愿景:帮助所有读者精进 Python 技术,并增长职业和副业的收入。
周刊在 Github 开源,可以通过 issue 投稿。
如果你对Python感兴趣,想要学习python,这里给大家分享一份Python全套学习资料,都是我自己学习时整理的,希望可以帮到你,一起加油!
😝有需要的小伙伴,可以点击下方链接免费领取或者V扫描下方二维码免费领取🆓
Python全套学习资料
1️⃣零基础入门
① 学习路线
对于从来没有接触过Python的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
② 路线对应学习视频
还有很多适合0基础入门的学习视频,有了这些视频,轻轻松松上手Python~
③练习题
每节视频课后,都有对应的练习题哦,可以检验学习成果哈哈!
2️⃣国内外Python书籍、文档
① 文档和书籍资料
3️⃣Python工具包+项目源码合集
①Python工具包
学习Python常用的开发软件都在这里了!每个都有详细的安装教程,保证你可以安装成功哦!
②Python实战案例
光学理论是没用的,要学会跟着一起敲代码,动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。100+实战案例源码等你来拿!
③Python小游戏源码
如果觉得上面的实战案例有点枯燥,可以试试自己用Python编写小游戏,让你的学习过程中增添一点趣味!
4️⃣Python面试题
我们学会了Python之后,有了技能就可以出去找工作啦!下面这些面试题是都来自阿里、腾讯、字节等一线互联网大厂,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
5️⃣Python兼职渠道
而且学会Python以后,还可以在各大兼职平台接单赚钱,各种兼职渠道+兼职注意事项+如何和客户沟通,我都整理成文档了。
上述所有资料 ⚡️ ,朋友们如果有需要的,可以扫描下方👇👇👇二维码免费领取🆓