Python中为什么PEP8规定函数名必须全部小写?

比如说getUsernameByUid这种函数,写成驼峰看起来就很舒服,和别的编程语言风格也统一,如果写成get_username_by_uid这样多累啊,得多按好几下 shift。

而且我看 threading 模块也没遵循 PEP8 规范,比如说他的setDeamon方法就是驼峰命名法,这样看的也舒服啊。

反正我自己写项目都是写驼峰命名,因为之前写 PHP 和 JavaScript 都是这样写的,只是看到 IDE 报一堆黄色线有点烦。。。


Python中为什么PEP8规定函数名必须全部小写?

29 回复

我一般都 Get_Username_By_UID 这样写怎么破 XD


PEP8规定函数名用小写主要是为了保持代码风格的一致性,让整个Python生态看起来更统一。用小写字母和下划线(比如calculate_total)这种蛇形命名法,在Python社区里已经是约定俗成的写法了,大家一看就知道是函数。

这么规定有几个实际的好处:一是可读性高,单词之间用下划线隔开,读起来更清楚;二是能跟类名(用大驼峰ClassName)明显区分开,避免混淆;三是所有代码都遵循同一套规则,不同人写的项目看起来风格都差不多,协作起来更顺畅。

简单说,就是为了让代码更整洁、好读、好维护。

get_username_by_uid 这个如果写成 getUsernameByUid 也要用 shift + U/B 好多下= =,少打字符而已,我比较不习惯用大小写切换

一直觉得驼峰看起来很不舒服。。。

Go 还规定使用 Tab 缩进呢……

从 c 继承过来的。

输入大写字母 一样要按 shift 啦,这样想是不是就平衡了

只有在用类的时候才驼峰,函数用驼峰感觉怪怪的

有可能 po 主用的 Caps Lock 改变大小写哦……

这只是一个风格罢了,C++ STL 也喜欢这种

这东西看喜好,看团队习惯……

所以我用 karabiner 对调了_ 和 -

作为一个在 Laravel 和 Wordpress 之间经常切换的人也表示凌乱。。。其实个人觉得下划线真的比驼峰式在 识别 /反应 这个过程时间更快。

PEP8 我记得是说用统一规则就行,小写下划线或者驼峰。

IDE 给警告可能是开发者的个人倾向吧。

我是根据语言换风格,怎么看着顺眼怎么来

在写 Python PHP JS 的表示已经切换自如了…

找个工具保存时自动格式化就好,对应每种语音一种规则

PEP8 的做法是这样的 类就用驼峰命名, 函数就用 _ 。

这样的好处就是,一眼看下来就知道哪个是类,哪个是函数。

OneTwoThree one_two_three

不过这种东西就好像缩进用几个空格一样,应人而异的。自己习惯就好,不过呢,如果是团队合作的话,PEP8 可以说是最方便,最稳妥的方法了。

为了避免拿出游标卡尺,我一般 Python 就是第一层缩进用 4 个空格,第二层用 5 个 , 第三层用 6 个,类推。
以免自己写出嵌套层数太多的函数 (滑稽

那是你之前是写 PHP 和 JavaScript 的,(笑
这种风格上的写法习惯就好,就像我看驼峰很不舒服

看团队吧

一个语言一套风格,只是用同一种工具的约定,这样你看别人代码舒服,别人看你的也舒服,当然没这需求自己怎么爽怎么写

驼峰读起来比较累因为挤在一起

起码可以随便写不算错误啊
想想看 Go 怎么规定大小写的

统一风格而已。总要选一种风格的,只不过人家选的是下划线

所以我就把 IDE 的 PEP8 naming convention voilation 检查关掉了。
这个在本机,只针对个人,只是工作习惯问题。
你要是怼 PEP8,那就上升到宗教问题了!

python 就是一种规定了那种方法是最好的语言。

其实更喜欢用 _ 的

个人觉得,其实无论是 Python 里的 PEP8,C++ 的 Google 规范,还是 JS 里 eslint 的各种 style,都是“推荐、可作参考”的做法。

但是真正到了实践里,只要做到统一并且易理解就好了。你总不能强求公司里所有项目都改成这种做法吧?

提示一下楼主,那个黄色横线其实可以关闭的。

如果是 jetbrains 家的 IDE 错误提示可以设置成自己喜欢的,
Editor -> Colors & Fonts -> general -> Error ->选择自己喜欢的风格

回到顶部