On Feb 22, 3:40 am, piterrr.dolin...@gmail.com wrote:
> Thanks to all for quick relies.
>
> Chris, you are (almost) spot on with the if blocks indentation. This is what 
> I do, and it has served me well for 15 years.
>
> code
> code
>
>    if (some condition)
>    {
>       code
>       code
>    }
>
> code
> code
>
> This is what I call code clarity. With Python, I am having to do this
>
> code
> code
>
> ##############################
>
> if (some condition):
>   code
>   code
>
> ##############################
>
> code
> code
>
> It does the job, but is not ideal.
>
> I am nervous about using variables "out of the blue", without having to 
> declare them. For example, when I write "i = 0" it is perfectly OK to Python 
> without 'i' being declared earlier. How do I know that I haven't used this 
> variable earlier and I am unintentionally overwriting the value? I find I 
> constantly have to use the search facility in the editor, which is not fun.
>
> You see, Javascript, for one, behaves the same way as Python (no variable 
> declaration) but JS has curly braces and you know the variable you have just 
> used is limited in scope to the code within the { }. With Python, you have to 
> search the whole file.
>
> Thanks to Chris, Ian and Dave for explaining the () issue around if and for 
> statement. I don't agree with this, but I understand your points. The reason 
> why I like parentheses is because they help with code clarity. I am obsessed 
> with this. :-) After all, there is a reason why so many languages have 
> required them for several decades.
>
> What about Python's ambiguity?
> For example, in C you would write
>
> if (myVar != 0)
>   do something
>
> in Python, this is legal
>
> if (not myVar):
>   do something

I have seen any amount of C code where:
if (x != 0) { ...

is shortened to

if (x) { ...

Python is similar (and many of us dont like this feature).
Just know it as a feature and get on with it.  Python has less
features/gotchas/bugs than most other languages.

As for indentation: This is more a philosophy than a technology
question.  Its called DRY (Dont Repeat Yourself)  In most languages
(other than python and haskell) you use {} or some such for the
compiler and indentation for the human reader.  Saying something
exactly once is not just a space/time saver. Its also a error saver.

> In the mean time, thanks to most of you for encouraging me to give Python a 
> chance. I will do
> my best to like it, w/o prejudice.

The mathematician Paul Halmos was once told by a bewildered student:
"I just dont understand mathematics!"
Halmos replied: My boy you dont understand mathematics. You just get
used to it.
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to