začátek bloku je :, konec je řádek s menší úrovní odsazení. Nikomu jinému to nedělá problém.
Myslel jsem si, že jsme na diskuzním fóru Root.cz ne na Novinky.cz?
To jsme, dostalo se vám věcné a správné odpovědi.
Já v Pythonu napsal pouze krátký program na zálohování,
Ano, to je docelá vidět, že s ním máte minimální zkušenosti. Já jsem v pythonu napsal desítky tisíc řádků kódu. Kdyby bylo odsazování objektivní problém, věděl bych o tom.
Zajímalo mě, jestli se jenom mě zdá, že je Python nečitelný a tak jsem navšívil pár diskuzních fór, z těch jsem zjistil, že rozhodně nejsem sám.
Zdát se to může i někomu jinému. Ale ve skutečnosti je návržen právě s ohledem na přehlednost, aby nebyl plný podivných znaků. To, že někomu přijde přehlednější změť znaků není přirozené, je to něco jako nemoc z povolání. Připomeňme si:
Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those!
Já bych rád uvítal něco stručného, co není zase tak ukecané, ale také bych rád za to, aby mě nelimitovaly nesmysly, co se týče formátování.
Python je promyšlený komunitní projekt a žádné nesmysly vás nelimitují, limituje vás vaše předpojatost.
Pokud je Python určen na nějaký rychlý a jednoduchý skript, proč mám kontrolovat, jestli zrovna v daném editoru (a že jich na různých místech používám) je správně nastaven tabulátor (4 nebo 5 mezer) a to dokonce tam, kde nemám možnost toto měnit.
Python je flexibilní a vhodný i ná větší projekty. U krátkého skriptu můžete jednoduše používat mezerník. Ostatně python nikomu nebrání používat 5 mezer a matlal si je používat může. Ale style guide hovoří jásně, odsazuje se 4 mezerami, to je standard. Co ovšem matlal už nemůže je prasit kód a odsazovat v rámci bloku nejednotně.
Závorky jsou pro mě důležité: (2 + 5) * 3 není 2 + 5 * 3 a stejně tak to mám s bloky a {} ... } jasně určuje konec bloku, bez toho aniž bych musel trápit mé oči neviditelnými znaky.
Proč jste nenapsal 2 + (5 * 3) když jsou pro vás závorky důležité? Evidentně to není pravda. Trápení očí je nesmysl, odsazování je přirozeně přehledné strukturování kódu, dělají to všichni aniž by museli. Je to jediné přehledné řešení pro člověka. Závorky jsou pro stroj. Python se přizpůsobuje člověku a respektuje jeho způsob. Nenutí člověka do dublovaného redundantního strukturování.
Ale když budu hrát vaši hru, a dělat, že vám to věřím, tak python nikomu nebrání si v kodu dělat vlastní závorky. Akorát to nikdo nikdy nepoužil, co vím, což myslím jasně vypovídá o tom, že to je k ničemu na rozdíl od odsazování, které naopak dodržuje každý i v případech, že je to nepovinné. A to pro zvýšení přehlednosti. Máte racionální vysvětlení, proč si lidé obdobně kód v pythonu nezpřehledňují nepovinnými závorkami?