koleksiyonları modülü PEP 8 Style Guide aşağıdaki gibidir:
Modüller kısa olmalıdır, hepsi küçük harf isimler. o collections
neredeyse istisnasız sınıf isimleri CapWords kuralını kullanmak neden
budur.
>>> collections.Counter
<class 'collections.Counter'>
>>> collections.OrderedDict
<class 'collections.OrderedDict'>
namedtuple
bir fonksiyondur o yukarıda belirtilen stil kılavuzu takip etmez, yani: o Counter
ve OrderedDict
neden ikisi de sınıfları çünkü
, buna bağlıdır.
>>> import collections
>>> collections.Counter
<class 'collections.Counter'>
>>> collections.OrderedDict
<class 'collections.OrderedDict'>
>>> collections.defaultdict
<class 'collections.defaultdict'>
>>> collections.deque
<class 'collections.deque'>
Onların defaultdict
tutulur ve varsayalım: deque
ve defaultdict
s türleridir, bu yüzden de yok:
>>> collections.deque
<type 'collections.deque'>
>>> collections.namedtuple
<function namedtuple at 0x10070f140>
>>> collections.defaultdict
<type 'collections.defaultdict'>
Not: Python 3.5 ile defaultdict ve deque çok geç sınıflardır Geriye dönük uyumluluk için deque
küçük harf. Bir stil rehberi uğruna böyle büyük bir isim değişikliği yapacaklarını hayal bile edemezdim.
Artık bu sınıfların ve türlerin birleştirilmiş olması gerektiğinden, CamelCase for Python sınıfları ve C türleri için küçük harf arasındaki fark sinir bozucu bir şekilde garip. – user2357112
Neden türler ve sınıflar için farklı stiller? Sayacın bir sınıf olduğu gerçeğini ve bunları kullandığımda varsayılan bir varsayımın olması gerektiğine dikkat etmeli miyim? Başka bir deyişle, şimdiye kadar, standartların bir sınıftan ziyade bir tür olduğu gerçeğini önemsemedim. Umursamalımıyım? – Baz
@Baz Ben kendim umurumda değil. Bazı durumlarda benzerler, ama yine siz ve ben farklı insanlarız. Neden türleri ve sınıfları için farklı stiller? Ben de bilmiyorum. PEP 8, türleri kapsamıyor gibi görünmüyor. – TerryA