你好,我是猫哥。这里每周分享优质的 Python、AI 及通用技术内容,大部分为英文。本周刊开源,欢迎投稿。另有电报频道作为副刊,补充发布更加丰富的资讯。

产品推荐

Walles.AI 是一款适用于所有网站的浏览器插件,支持 GPT4 问答、ChatPDF、网页内容解释及翻译、生成高质量文章、与 Notion 等工具协同、在线摘要 Youtube 视频等。前往官网体验:安装地址

文章&教程

1、将 Python 错误作为值:比较 Go 和 Rust 的使用模式

文章比较了两种处理错误的方法:抛出错误和将错误作为返回值,并参照 Go 和 Rust 的处理模式,介绍如何在 Python 中实现将错误作为值返回。(附1:两种风格的错误处理 分析了两种风格的优缺点及其适用场景;附2:周刊第一期的 编程语言的四种错误处理方法 从语法、代码可读性、演变过程、运行效率角度对比了不同方案)

2、调试 Django 中的 CSRF 失败/403 禁止错误

部署 Django 程序时的一个常见错误是 403 Forbidden ,通常由 CSRF 错误导致,文章介绍了导致这种错误的 7 种原因,并解读 Django 源码,详细梳理了它们的校验逻辑。

3、对 Python 环境和包管理工具的公正分析

Python 中的虚拟环境和包管理工具实在是太多了!但是应该如何选择最适合自己需求的工具呢?作者全面分析了 5 个类别的 10 多款工具,希望减少用户在抉择上的困惑。(附:作者针对此主题的两场演讲 PyCon DE 2023EuroPython 2023

4、让我们一起创建一个 Python 调试器

你是否好奇一个代码调试器是如何工作的?当设置断点后,程序触发它时会发生什么?调试器是程序员日常必备工具之一,但极少有人知道它是如何实现的。这是一个系列教程,已更新 5 篇文章。值得一提的是,作者使用了最新的 Python 3.12 PEP-669 功能。

5、揭开 Python 3.12 的面纱:Python 世界有哪些新东西?

Python 3.12 已发布一个半月,你开始尝鲜了么?这篇内容全面的文章重点解读了新的几个 PEP,让你对这个版本有更清晰的认识。

6、Python 的哈希表指南

Python 的字典是一种“哈希表”,提供了高效灵活的数据存储和检索方法。文章介绍了这种数据结构及其工作原理,探讨了如何用 Python 实现哈希表并解决哈希冲突。这是一个系列文章,作者还写了堆、队列、栈、数组等数据结构的指南。

7、运行不可信的 Python 代码

作者想自己实现一个简化版的不太安全的沙盒,文章介绍了它的运作方式,以及一些关键性问题的解决方案,即独立的进程 + seccomp + setrlimit 。(附:如何安全运行别人上传的Python代码? 这篇文章的方案是使用 Docker 的 Python SDK 来构建镜像,在 Docker 中执行代码)

8、了解 Linux cp 命令并用 Python 编程实现

深入探讨了 Linux 中 cp 命令的工作原理,然后用 Python 实现了一个基础版本。从中可以看到高级编程语言提供的强大功能和简单性。

9、初学者应该用 Django,而不是 Flask

作者认为 Flask 虽然简单易用,但它可能会让初学者忽视 Web 开发的复杂性。Django 功能全面、生态系统成熟,更适合新手学习与提升生产力。

10、PEP-733:对 Python 公共 C API 的评估

一则信息型的 PEP,用于分享 C API 的信息,包括定义 C API 的用途、利益相关者及其使用场景和要求、C API 的优势、C API 的 9 项薄弱的问题。

11、让我们做一个类 JSON 语法的解析器

作者出于编程乐趣的目的,定义了一组类似 JSON 的语法规则,然后使用 Python 逐一实现不同内容的提取与解析,开发了一个解析器。

12、一门编程语言应该有多大?

在作者眼中,Python 1.5 是他能完全理解的最后一个版本,而之后的版本则使得语言越来越大。语言设计时添加新功能,如何权衡取舍?作者建议学习 C 语言的例子,让语言处于“最小进化”模式。

PyCon China 2023今年国内 PyCon 将于 12 月在北京、上海、成都、杭州、重庆、深圳、广州联动举办。现在购票可享 7 折优惠:详情介绍

️项目&资源

1、CogVLM:多模态预训练模型

一个强大的开源可视化语言模型 (VLM),CogVLM-17B 有 100 亿个视觉参数和 70 亿个语言参数,具有高性能,在多项跨模态基准测试中排名领先。(star 2.1K)

2、movis:用于生成与编辑视频的库

让你通过 Python 代码生成各类视频,包括但不限于演示视频、动态图形、着色器艺术编码和游戏解说视频。支持视频编辑、音频剪辑、图层转换及添加特效等。

3、mirror:基于摄像头内容,实时回答问题

这是一个 Web APP,可将摄像头视频流传给 AI,让它分析内容并实时回答你提出的问题。100% 本地和私有,Web UI 是用 gradio 构建,多模态 AI 模型是 Bakllava

4、vimGPT:使用 GPT-4V 和 Vimium 浏览网页

Vimium 是一个 Chrome 插件,可让你仅用键盘浏览网页,借助它,可以不将浏览器 DOM 传给大模型,仅用 GPT-4V 的视觉功能来浏览网页。(star 1.8K)

5、twitter_user_tweet_crawler:无需调用 Twitter API,爬取用户推文

使用 selenium 模拟浏览器操作,可抓取用户推文并保存静态资源到本地,无需调用 Twitter API。(投稿自@kaixinol)

6、RSS-OPML-to-Markdown:将 OPML 文件转化为易读的 Markdown 格式

经常有人分享自己 RSS 列表导出的 OPML 文件,但这难以阅读也不宜直接拿去导入自己的阅读器。这个项目将 RSS 源的概要和一些统计信息输出成 markdown 表格,方便你按需订阅。(投稿自@AboutRSS)

7、MyHeyGen:视频翻译工具

一个平民版视频翻译工具,音频翻译、翻译校正、视频唇纹合成全流程解决方案。

8、awesome-python-repo-stats:统计“awesome-python”列表中项目的信息

awesome-python 是一个拥有 187K star 超火爆的项目,收录了大量框架、库、软件和资源。这个项目是对它收录内容的统计分析,每日更新,可在线查看统计表。

9、outlines:引导式文本生成

一个用于生成神经文本的库,可视为 transformers 库中 generate 方法的替代品。(star 3.3K)

10、marimo:下一代 Python notebook

全新的 notebook 项目,其每个 notebook 都可作为交互式 Web 程序共享,可浏览数据、运行实验、构建工具和部署应用。

11、Finance:150+ 量化金融 Python 程序

一个资源集合项目,帮助你收集、操纵和分析股市数据。(star 1.2K)

12、tacticalrmm:一个远程监控和管理工具

一个远程监控和管理工具,使用 Django、Vue 和 Go 构建。类似 Teamviewer 的远程桌面控制、远程文件传输、远程执行命令和脚本、查看日志、告警管理、支持自动化。(star 2.3K)

播客&视频

1、CPython 的 JIT 编译器

Guido 本周在 X 上分享了这则视频,视频作者介绍了他们规划给 Python 3.13 开发一个 JIT 编译器!(附:演讲视频的文稿

2、The Python Show 第 21 期:Sanic - 异步 Web 框架

Sanic 是支持异步编程的 Python Web 框架,能够快速构建和运行。这期播客的嘉宾是 Sanic 的维护者之一,话题包括 Web 框架对比、消息规范、Mayim(单向 ORM)。

本文首发于:https://pythoncat.top/posts/2023-11-18-weekly

欢迎订阅

  • 微信公众号:除更新周刊外,还发布其它原创作品,并转载一些优质文章。(可加好友,可加读者交流群)
  • 博客RSS:我的独立博客,上面有历年原创/翻译的技术文章,以及从 2009 年以来的一些随笔。
  • Github:你可以获取本周刊的 Markdown 源文件,做任何想做的事!
  • 邮件:在 Substack 上开通的频道,满足你通过邮件阅读时事通讯的诉求。
  • Telegram:除了发布周刊的通知外,我将它视为一个“副刊”,补充发布更加丰富的资讯。
  • Twitter:我的关注列表里有大量 Python 相关的开发者与组织的账号。

Python 潮流周刊#27:应该如何处理程序的错误?的更多相关文章

  1. Python 程序员经常犯的 10 个错误

    关于PythonPython是一种解释性.面向对象并具有动态语义的高级程序语言.它内建了高级的数据结构,结合了动态类型和动态绑定的优点,这使得... 关于Python Python是一种解释性.面向对 ...

  2. Python开发者最常犯的10个错误

    Python是一门简单易学的编程语言,语法简洁而清晰,并且拥有丰富和强大的类库.与其它大多数程序设计语言使用大括号不一样 ,它使用缩进来定义语句块. 在平时的工作中,Python开发者很容易犯一些小错 ...

  3. python问题:IndentationError:expected an indented block错误解决《转》

    python问题:IndentationError:expected an indented block错误解决 标签: python语言 2012-07-07 17:59 125145人阅读 评论( ...

  4. <转>Python运行的17个时新手常见错误小结

    1)忘记在 if , elif , else , for , while , class ,def 声明末尾添加 :(导致 “SyntaxError :invalid syntax”) 该错误将发生在 ...

  5. Python: The _imagingft C module is not installed错误的解决

    Python: The _imagingft C module is not installed错误的解决 By 白熊花田(http://blog.csdn.net/whiterbear) 转载需注明 ...

  6. 小白学PYTHON时最容易犯的6个错误,看看你遇到过几个

    最近又在跟之前的同学一起学习python,一起进步,发现很多测试同学在初学python的时候很容易犯一些错误,特意总结了一下.其实这些错误不仅是在学python时会碰到,在学习其他语言的时候也同样会碰 ...

  7. Python运行的17个时新手常见错误小结

    1)忘记在if , elif , else , for , while , class ,def 声明末尾添加 :(导致“SyntaxError :invalid syntax”) 该错误将发生在类似 ...

  8. 小白学PYTHON时最容易犯的6个错误

    最近又在跟之前的同学一起学习python,一起进步,发现很多测试同学在初学python的时候很容易犯一些错误,特意总结了一下.其实这些错误不仅是在学python时会碰到,在学习其他语言的时候也同样会碰 ...

  9. 在使用python语言的open函数时,提示错误OSError: [Errno 22] Invalid argument: ‘文件路径’

    如题,在使用python语言的open函数时,提示错误OSError: [Errno 22] Invalid argument: '文件路径',在查阅了大量资料后也得到了一些解决方案,但是这些解决方案 ...

  10. python编程出现:expected an indented block错误。

    python编程出现:expected an indented block错误. expected an indented block翻译为:应为缩进块. python中没有像C语言使用{}来表示从属 ...

随机推荐

  1. pywintypes.com_error: (-2147418111, '被呼叫方拒绝接收呼叫。', None, None)

    将打开的excel全部关闭,即可解决问题.

  2. java入门2..0

    java的运行原理 1.在本地磁盘中创建一个文本文件为Demo.java的源文件 2.在源文件中编写java代码如下: public class Demo public static void ,ma ...

  3. .NET Core多线程 (4) 锁机制

    合集:.NET Core多线程温故知新 .NET Core多线程(1)Thread与Task .NET Core多线程(2)异步 - 上 .NET Core多线程(3)异步 - 下 .NET Core ...

  4. 【LaTeX】基础介绍

    目录 TeX 和 LaTeX pdfTeX.XeTeX 和 LuaTeX 三者的介绍 各自的特性 参考资料 TeX 和 LaTeX Tex 是一个排版软件,而 LaTeX 是基于 TeX 开发的排版系 ...

  5. 【双系统】Win10/Win11 引导 Ubuntu

    目录 纲要 注意 写在最前 1. Win 分区 2. Ubuntu刻盘 3. 安装 Ubuntu 4. 配置引导 纲要 本文主要介绍了如何在已安装 Win10/Win11 前提下安装 Ubuntu 双 ...

  6. 《SQL与数据库基础》08. 多表查询

    目录 多表查询 多表关系 一对多 多对多 一对一 多表查询概述 分类 内连接 外连接 自连接 联合查询 子查询 分类 标量子查询 列子查询 行子查询 表子查询 案例 本文以 MySQL 为例 多表查询 ...

  7. brpc internal

    brpc 内部实现 thread model pthread 1:1atomic cache同步降低性能 fiber n:1 -> nginx 多核难以扩展, 用户不能做阻塞操作. contex ...

  8. 每日一题:AJAX进度监控(附可运行源码)

    1.什么是AJAX AJAX(Asynchronous JavaScript and XML)是一种用于在网页上进行异步通信的技术.它允许在不刷新整个页面的情况下,通过在后台与服务器进行数据交换来更新 ...

  9. Solution Set -「CF 1490」

    「CF 1490A」Dense Array Link. 显然不满足的 adjacent elements 之间一直加 \(\min\times2,\min\times4,\cdots,\min\tim ...

  10. 高效数据管理:Java助力实现Excel数据验证

    摘要:本文由葡萄城技术团队原创并首发.转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 前言 在Java中,开发者可以使用一些开源的库(如Apache POI ...