簡體   English   中英

Python變量命名約定

[英]Python variables naming convention

所以我試圖切換到PEP8表示法(來自一個相當個人的CamelCase表示法),我想知道你們是如何解決現有函數/變量被覆蓋的情況?

例如:

open, high, low, close, sum = row

將會覆蓋“開放”和“總和”功能。 首先,如果我不使用一個好的IDE,我甚至不會注意到我剛剛覆蓋了重要的基本功能。 其次,你如何命名變量呢? 在這個例子中,我會使用匈牙利語應用程序,根本不會遇到任何潛在的問題。

謝謝!

為什么不選擇沒有沖突的名字呢? opening_priceclosing_pricetotal如果這是他們所代表的。 雖然可以像在其他回復中一樣限定命名空間,但對於局部變量來說肯定不需要。 無論你編寫什么語言,你都應該知道保留的詞; 它們中沒有那么多。

我會使用open_sum_

在這種特殊情況下,我會使用一個namedtuple 這會將這些名稱變為合格的名稱( data.opendata.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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM