Python变量命名规范
我正在尝试切换到PEP8命名规范(之前我用的是个人的CamelCase命名法),我想知道大家是怎么处理那些可能会覆盖现有函数或变量的情况的。
比如说,有这样的代码:
open, high, low, close, sum = row
这段代码会覆盖掉“open”和“sum”这两个函数。首先,如果我不使用一个好的IDE,我甚至都不会注意到我刚刚覆盖了这些重要的基本函数。其次,你们会怎么给这些变量命名呢?
在这个例子中,我本来会用匈牙利命名法,这样就不会遇到任何潜在的问题了。
谢谢!
5 个回答
5
在这种情况下,我会使用一个叫做 namedtuple
的东西。这样的话,名字就会变得更具体,比如 data.open
、data.low
等等。
from collections import namedtuple
Data = namedtuple('Data', ['open', 'high', 'low' 'close', 'sum'])
data = Data(*row)
这样可以避免和内置函数的名字冲突,同时也能让代码看起来更清晰易懂。
8
我会使用 open_
和 sum_
。
10
为什么不直接选择不冲突的名字呢?比如说用 opening_price
(开盘价)、closing_price
(收盘价)和 total
(总计)来表示它们的意思。虽然可以像其他回答里提到的那样给命名空间加上前缀,但对于局部变量来说,这其实是不必要的。无论你用什么编程语言,了解保留字是你的责任;这些保留字其实也不多。