Python'da çok uzun bir if ifadem var. Birkaç satıra ayırmanın en iyi yolu nedir? En iyi şekilde en okunaklı/yaygın demek istiyorum.Çok Uzun Python Bildirimi
cevap
PEP8'a göre, uzun çizgiler parantez içine yerleştirilmelidir. Parantez kullanırken satırlar ters eğik çizgi kullanmadan kırılabilir. Ayrıca, boolean işleçlerinden sonra satır sonu 'u eklemeyi denemelisiniz. Örneğin
:
İşteif (abcdefghijklmnopqrstuvwxyz > some_other_long_identifier and
here_is_another_long_identifier != and_finally_another_long_name):
# ... your code here ...
pass
E129'u kapattığınızdan emin olun veya Andrew Clark'ın çözümünü kullanın (http://stackoverflow.com/a/5253419/981933). Aksi takdirde PEP8 size bir hata verecektir. Bkz .: https://github.com/PyCQA/pep8/issues/126 ve https://github.com/PyCQA/pep8/issues/386 –
"E129" özelliğini kapatmayın, sadece ona uygun davranın. Onsuz şeyleri okumak zor. –
Eh, E129'a nasıl uyulacağını bilmiyorum. Denediğim şeyden memnun değil. – user2061057
örnek hat uzunluğu sınırlayıcı üzerinde PEP 8 doğrudan geçerli:
class Rectangle(Blob):
def __init__(self, width, height,
color='black', emphasis=None, highlight=0):
if (width == 0 and height == 0 and
color == 'red' and emphasis == 'strong' or
highlight > 100):
raise ValueError("sorry, you lose")
if width == 0 and height == 0 and (color == 'red' or
emphasis is None):
raise ValueError("I don't think so -- values are %s, %s" %
(width, height))
Blob.__init__(self, width, height,
color, emphasis, highlight)
Fakat bu, E129'a, görsel olarak girintili bir çizgiye, sonraki mantıksal çizgi ile aynı girintiye neden olarak, pep8 tiftik denetleyicisini kullanıyor. – ArtOfWarfare
@ArtOfWarfare Girinti bozuldu. Düzeltme, incelenmeyi bekliyor veya doğrudan [PEP8] örneğinde göründü (http://legacy.python.org/dev/peps/pep-0008/). – altendky
Okunabilirlik, bir satırda birden fazla parametre koymaktan zarar görüyor, ancak daha sonra hala kırılıyor ve kalanını ikinci hatta koyuyor. Her ikisinden sonra kırın ya da çok uzun değilse, hepsini bir satırda tutun. "Yükseklik" konusunda çok özel olan şey, bundan sonra bir mola var mı? " "Neden genişlik" veya "renk" den sonra kırılmasın? Bu tür sorular sadece sıkı bir kural takip etmeyen kırılma ile ortaya çıkar. – Zelphir
- 1. Python "with" bildirimi sözdizimi
- 2. kolaylaştırın .htaccess çok uzun
- 3. SQlite (sqlite3 python) içinde çok uzun bir dize nasıl kaydedilir?
- 4. Python - en uzun yolu bul
- 5. Android: Birden çok bildirimi yönetme
- 6. C# için Python-like sözlük bildirimi? Python
- 7. Python Tornado - Uzun koşu fonksiyonu var
- 8. Opencart kaydı çok uzun sürüyor
- 9. heroku konuşlandırılıyor çok uzun sürüyor
- 10. Satır çok uzun. Django PEP8
- 11. Çok uzun sürerse işlevi atla
- 12. dosya io çok uzun sürüyor
- 13. Çok Uzun Dize Eclipse Android
- 14. FatalErrorException: Giriş dizesi çok uzun
- 15. Hata Dosya adı çok uzun Yocto Projesi
- 16. MySQL ve Python Select Bildirimi Sorunları
- 17. python sözlüğünde uzun (str) tuşların verimliliği
- 18. Phpstorm'da dizi bildirimi için uzun sözdizimi nasıl uygulanır?
- 19. Uzun süren bir Python Sunucusunu profil oluşturma
- 20. CASE bildirimi ile birden çok değer seçin?
- 21. Hazırlanan Bildirimi birden çok kez verimli kullanma
- 22. python kullanarak google hangout bildirimi gönderin
- 23. kesilmiş masa çok uzun sürüyor, normal mi?
- 24. Node.js - crypto.js - PFX başlığı çok uzun
- 25. NUnit: çok uzun sürerse testi iptal edin
- 26. JPA, Mysql Blob çok uzun veri döndürüyor
- 27. ansible-playbook -> ControlPath çok uzun
- 28. Neden CountDownLatch.getCount() çok uzun bir int döndürür?
- 29. Hata: ORA-01704: dize çok uzun
- 30. Django işleme MultipleChoiceField verileri çok uzun sürüyor
, kod göster lütfen! –