我试图转换为PEP8的命名规范(从一种比较个人化的驼峰命名法),我想知道你们如何处理已经存在的函数/变量会被覆盖的情况?
例如,有这样一个情况:
open, high, low, close, sum = row
如果我不使用一个好的集成开发环境(IDE),我甚至不会注意到我已经覆盖了重要的基本函数“open”和“sum”。其次,你会选择什么样的变量名称呢?在这个例子中,我会使用应用程序匈牙利命名法,而且不会遇到任何潜在的问题。
谢谢!
opening_price
,closing_price
和total
。虽然可以像其他回复中所述那样限定命名空间,但是对于局部变量而言,应该不需要这样做。无论使用哪种编程语言,都应该了解保留字;它们并不多。我会使用open_
和sum_
。
namedtuple
。这将把那些名称转换为限定名称(data.open
,data.low
等)。from collections import namedtuple
Data = namedtuple('Data', ['open', 'high', 'low' 'close', 'sum'])
data = Data(*row)
params = ('open', 'high', 'low', 'close', 'sum') # defined once
val = dict(zip(params, row)) # for each row
# val == {'open': 12, 'high': 34, 'low': 56, 'close': 78, 'sum': 90}
然后你可以直接访问它们:val['open']
。你可以遍历它们:val.iteritems()
等等。
opening_price
,closing_price
和total
。虽然可以像其他回复中所述一样对命名空间进行限定,但是对于局部变量来说肯定不需要这样做。无论您使用哪种编程语言,了解保留字都是您的工作;它们并不多。 - Sideshow Bobopening_price
这样的东西最终看起来会很混乱。因此,出于这个原因,我将简单地使用o,h,l,c
,因为这些变量仅在函数中本地使用,并且它们被经常使用,因此保持尽可能短是有意义的。如果您不同意,请告诉我。谢谢! - Muppeto
和l
,在某些字体或匆忙中看起来很像0
和1
。如果你想缩短一点,可以使用openprice
而不是opening_price
。如果你必须使用超短的名称,请在注释中解释它们的含义。 - Sideshow Bob