, PEP8 açıkça bu biçimdeki dilim operatörü söz etmez yapabilirdi, ama spam[3:5]
kesinlikle daha yaygın ve IMHO daha okunabilir - Bir slice
nesneyi oluşturmak için özel bir sözdizimi var. pep8 checker gitmeyi şey ise
, :
önce uzay
[[email protected]]$ pep8 <(echo "spam[3:44]") # no warnings
[[email protected]]$ pep8 <(echo "spam[3 : 44]")
/dev/fd/63:1:7: E203 whitespace before ':'
kadar işaretlenecektir ... ama bir edebi dicti ve hiçbir boşluk tanımlanmıştır operatör olmak
:
varsayar nedeniyle bu sadece operatörden önce bekleniyor. Bu nedenle
spam[3: 44]
geçer, ancak bu doğru görünmüyor. Bu sayede
spam[3:44]
'a yapışırdım.
İç içe geçmiş aritmetik işlemler biraz daha zorlayıcıdır.
[[email protected]]$ pep8 <(echo "spam[ham(66)//3:44+eggs()]")
/dev/fd/63:1:13: E225 missing whitespace around operator
[[email protected]]$ pep8 <(echo "spam[ham(66) // 3:44 + eggs()]") # OK
[[email protected]]$ pep8 <(echo "spam[ham(66) // 3 : 44 + eggs()]")
/dev/fd/63:1:18: E203 whitespace before ':'
Ancak, ilk bakışta gözle ayrıştırmak için yukarıdaki zor tamamı: senin 3 örnekler arasında yalnızca 2 tek PEP8 doğrulama geçirir.
spam[(ham(66) // 3):(44 + eggs())]
Ya da daha komplikasyon işlemleri için:
PEP8 ile okunabilirlik ve uygunluk için
, ben şahsen için gitmek istiyorum
s_from = ham(66) // 3
s_to = 44 + eggs()
spam[s_from:s_to]