On 6-Feb-09, at 3:16 PM, Georg Brandl wrote:
Riobard Zhan schrieb:
On 5-Feb-09, at 7:31 AM, Steven D'Aprano wrote:
Riobard Zhan wrote:
Pascal uses colons, but not for the exact same purpose as Python. Both languages use colons in similar ways to it's use in English. In particular, Python uses colons as a break between clauses: larger than a comma, smaller than a period.
Pascal is my first language. It has been some years ago, so I cannot
remember the detail now. I checked wikipedia and did not find colons
are used after if's. Not sure if you mean declarations? If so, I
don't think that is what we are discussing here; Java and C also use colons in switch/case statements. AFAIK, Python is quite unique in requiring trailing colons after if's, for's, and function/class definitions.
Python is also quite unique in using indentation to delimit blocks, so I'm not sure what point you're trying to make.
Sorry, I did not make it obvious. Please let me re-state it more
I pointed out that Python is quite unique in requiring trailing colons
because I don't think there are any other popular languages do so.
Therefore I did not understand why you mentioned Pascal. I was trying
to figure out if you mean Pascal uses colons in declarations.
I think it's a good indicator for optional syntax if you can formulate new rules for PEP 8 that state when to use it. In the case of colons, you'd have to either forbid or mandate them; I'd be at a loss to find another consistent rule. So, making them optional is pointless; we should either keep them or remove them. And removing is out of the question.
Applying that indicator to semicolons, there is a clear rule in PEP 8 that states when to use them: to separate two statements on one line.
I thought semicolons and multiple statements on one line are
discouraged in PEP 8. Did I miss something? :|
However, the only person around here whose itches alone, in the face of a wall of disagreeing users, can lead to a change in the language, is Guido.
Agreed. That's what BDFL means.
I'm not trying to impose my itches on you. I'm not the BDFL. I'm
explaining why I think omitting colons makes Python more elegant.
Yes, I have read all those remarks about semicolons.
Thanks very much! I thought you ignored them before. I apologize :)
What you all fail to recognize is that the majority of Python users like the colons, and wouldn't program without them.
I doubt it. Would you not program other languages because they do not
have colons? Do you really think the majority of Python users care
about colons that much? I bet they will never notice if there is any
colons missing in a piece of Python code if colons are made optional.