标签

Python

写出地道 Python 代码:从风格到实践的五个维度

来源: realpython.com 27
"Pythonic"不是一个空洞的口号——它指的是用 Python 社区公认的最佳方式解决问题,让代码读起来像 Python 而不是移植过来的 C 或 Java。一篇 20 道题的测验把 Pythonic 的核心拆成了几个方向:Zen of Python、PEP 8、代码质量、类型检查、文档。下面沿着这些维度,把容易踩的坑和可以立刻用的写法摊开讲。 在...

Python 数据结构:那些容易踩坑的细节与实战

来源: realpython.com 29
Python 的内置数据结构看起来简单,但真正写代码时,不少细节会悄悄绊倒你——字符串不可变、列表浅拷贝、字典键的哈希要求、集合的元素约束、bytes 与 str 的边界……这些知识点在面试和日常调试中反复出现。本文围绕 strings、lists、tuples、dicts、sets、sorting、bytes 七个板块,用可运行的代码把常见陷阱逐一拆...

Seaborn 双界面实战:从函数式调用到对象式组装

来源: realpython.com 27
Seaborn 在 Python 数据可视化领域几乎是"开箱即用"的代表——一行代码出图,配色和统计细节自动搞定。但很多人没注意到,从 v0.12 起 Seaborn 引入了一套全新的 objects interface(对象接口),和经典的函数式接口并行存在。两套接口设计哲学不同,适用场景也不同。这篇文章用可运行的代码把两种风格摊开对比,帮你决定日常...

Python 异常、日志与调试:从踩坑到顺手的三件套

来源: realpython.com 54
写 Python 代码,最怕的不是逻辑复杂,而是程序跑着跑着就"沉默崩溃"——没有报错信息,没有日志痕迹,只剩一个空荡荡的终端。异常处理、日志记录和调试手段,这三样东西单独看都不难,但真正在项目里用到位的人不多。下面把常见坑和实用模式串起来讲,每段都带可跑的代码。 新手最常见的写法: 这段代码的问题不是语法,而是把所有错误都吞掉了,后续排查时你连崩溃原...

用 plt.scatter() 画出有灵魂的散点图

来源: realpython.com 46
一张散点图能同时呈现两组数值的分布与关联,这是折线图和柱状图做不到的。Python 里 是画散点图的主力函数,但它不只是把点画上去——每个点的尺寸、颜色、形状、透明度都可以单独控制,这意味着你能在一张图里编码四五个维度的信息。 下面从最基础的调用开始,逐步把散点图从"能看"变成"好看且有用"。 的两个核心参数是 和 ,即每个点的横纵坐标。最简单的用法:...

用 plt.scatter() 把多维数据画进一张散点图

来源: realpython.com 29
散点图是探索数据关系时最直觉的工具。但很多开发者只会画最基础的 x-y 点阵,遇到多变量场景就束手无策——要么画一堆子图,要么把信息硬塞进图例。 其实提供了四种视觉通道:大小、颜色、形状、透明度,足够在一张图里同时编码四到五个维度。 下面从基础用法开始,逐步叠加这些通道,最后给出一个可直接运行的综合示例。 这是入门级用法:只传 x 和 y。点的大小、颜...

CherryTree 1.7.0:给程序员一棵真正的笔记树

来源: oschina.net 34
做笔记这件事,程序员的需求和普通用户不一样——我们要存代码片段、要层级分类、要代码高亮、要数据自己可控。CherryTree 正是为这类需求设计的:无限层级树状结构、富文本与代码高亮并存、数据存成 sqlite 或 XML 文件,不依赖任何云服务。1.7.0 版本带来了若干新特性,值得重新审视这款老牌笔记工具。 大多数笔记软件要么是扁平列表(比如 Si...

EasyAi:在 Java 里直接写 AI 算法,不用先学 Python

来源: oschina.net 47
老板要加人脸识别,你搜了一圈,全是 Python 教程。你硬着头皮装 Conda、配虚拟环境、解决包冲突,最后算法跑通了——但怎么接到现有的 Java 业务系统里?REST 接口、序列化、部署运维,又是一堆活。算法原型在 Python,生产在 Java,两套语言之间的缝隙,才是真正的痛。 EasyAi 想填的就是这条缝:一个原生 Java 实现的 AI...

Polars 加列时的 Schema 常见坑与修复思路,外加 GitHub 用户贡献速查技巧

来源: realpython.com 49
数据管道跑着跑着,突然因为一列类型不对就崩了——用 Polars 的人多半踩过这个坑。与此同时,开源协作中你经常需要快速判断一个 GitHub 账号值不值得信任:他是活跃贡献者还是机器人?本文把这两个实用话题拆开讲,各给一套可直接跑的代码。 Polars 是强类型的。一个 DataFrame 的 Schema 在创建时就锁定了每列的类型。这带来性能优势...

用 Tkinter 和 MVC 模式写一个井字棋:从布局到事件处理的完整实践

来源: realpython.com 47
学 Tkinter 最常见的困境是:文档读完了,控件也认了,但拼不出一个完整程序。井字棋(Tic-Tac-Toe)恰好是一个大小合适的练手项目——九个格子、两方轮流、胜负判定清晰,能把 Tkinter 的布局、事件绑定、状态管理全部串起来,还能顺带把 MVC 模式落地成代码结构。 MVC 不是 Web 项目的专属。一个井字棋同样可以拆成三层: Mode...