[英]Python variables naming convention
所以我試圖切換到PEP8表示法(來自一個相當個人的CamelCase表示法),我想知道你們是如何解決現有函數/變量被覆蓋的情況?
例如:
open, high, low, close, sum = row
將會覆蓋“開放”和“總和”功能。 首先,如果我不使用一個好的IDE,我甚至不會注意到我剛剛覆蓋了重要的基本功能。 其次,你如何命名變量呢? 在這個例子中,我會使用匈牙利語應用程序,根本不會遇到任何潛在的問題。
謝謝!
為什么不選擇沒有沖突的名字呢? 如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()
等等。
Pep8建議使用尾隨下划線,但是也有人提到在可能的情況下使用同義詞來表示變量會更好。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.