优化Python函数

714 篇文章 ¥9.90 ¥99.00
本文探讨了优化Python函数的几个关键点,包括合理命名、单一功能、文档注释、返回值、函数长度以及幂等性和纯函数的概念。强调了良好命名的重要性,避免函数执行多个任务,提供清晰的文档注释,确保每个函数都有返回值,限制函数长度在50行以内,并解释了幂等函数和纯函数对于可测试性和可维护性的价值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

主要优化点:

* 命名合理

* 具有单一功能

* 包含文档注释

* 返回一个值

* 代码不超过 50 行

* 幂等,尽可能是纯函数

 

-- 命名

关于这个问题,我最喜欢的一句话(出自 Phil Karlton,总被误以为是 Donald Knuth 说的)是:

在计算机科学中只有两个难题:缓存失效和命名问题。

听起来有点匪夷所思,但整个不错的命名真的很难。下面就有一个糟糕的函数命名:

def get_knn(from_df):

我基本上在任何地方都见过糟糕的命名,但这个例子来自数据科学(或者说,机器学习),从业者总是在 Jupyter notebook 上写代码,然后尝试将那些不同的单元变成一个可理解的程序。

该函数命名的第一个问题是使用首字母缩写/缩略词。比起缩略词和并未普及的首字母缩写,完整的英语单词会更好。使用缩写的唯一原因是为了节省打字时间,但现代的编辑器都有自动补全功能,所以你只需键入一次全名。之所以说缩写是一个问题,是因为它们通常只能用于特定领域。在上面的代码中,knn 是指「K-Nearest Neighbors」,df 指的是「DataFrame」——无处不在的 Pandas 数据结构。如果另外一个不太熟悉这些缩写的编程人员正在阅读代码,那 TA 就会一头雾水。

关于这个函数名称,还有另外两个小问题:单词「get」无关紧要。对于大多数命名比较好的函数,很明显函数会返回一些东西,其名字会反映这一点。fr

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

杨鑫newlfe

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值