除了“list”之外,更好的Python列表名称
是不是不应该把列表变量命名为“list”?因为这个名字和Python的保留关键字冲突了。那么,应该用什么更好的名字呢?“input_list”听起来有点别扭。
我知道这可能跟具体问题有关,但比如我有一个快速排序的函数,像quick_sort(unsorted_list)这样的名字还是有点长,因为从上下文来看,传给排序函数的列表显然是未排序的。
有什么好的建议吗?
7 个回答
6
goats
变量名应该能说明它们代表的内容,而不仅仅是它们的类型。
28
我喜欢用里面内容的复数形式来命名变量。比如说,如果我有一个名字的列表,我就叫它 names
,这样我可以写:
for name in names:
我觉得这样看起来挺不错的。不过,为了让自己更清楚,变量的命名应该让人一眼就能知道它是什么。这个命名方式还有个好处,就是不管是什么类型的对象都能用,因为 names
可以是任何可迭代的对象,比如元组、字典,或者你自己定义的可迭代对象。你可以在这些对象上用 for name in names
,如果你有一个叫 names_list
的元组,那就显得有点奇怪了。
(下面评论补充的)有些情况下你不需要这样做。比如用 i
来索引一个短循环是可以的,因为 i
通常就是这么用的。如果你的变量在代码中使用的地方超过一页,导致你不能一次性看到它的整个生命周期,那你就应该给它起个合适的名字。