On 16/09/2017 19:00, Stefan Ram wrote:
Steve D'Aprano <steve+pyt...@pearwood.info> writes:
"Hi, I've been programming in Python for what seems like days now, and here's
all the things that you guys are doing wrong.
I never ever have written a line of Python 2. I started with
Python 3.6.0. Yet a very frequent mistake of mine is the
imission of parentheses after »print«.
WRT my other common errors, It thought of writing
a program that autocorrects my source code as follows:
Whenever the next line is indented more, add a colon:
abd def ghi
jkl mno pqr
I've used Komodo in the past and that editor works other way round, type
a ':' at the end of a line and the next line is indented. I would
presume other language aware editors take the same approach.
print """
Your idea would require considerable inteligence in the editor,
1. Otherwise the previous line would print with a ':'
2. That would frustrate me.....
"""
--------------------->
abd def ghi:
jkl mno pqr
Whenever the next line is indented more, add "def" to
what looks like a call (and does not start with »class«
or »def«;
f( x ):
return x * x
--------------------->
def f( x ):
return x * x
Whenever a line starts with "print" and no parentheses
are following, add them:
print x, 2
Strangely I find it irksome to have to write print as a function call in
Python 3. Must reflect those long ago days when I started to program
(oops, I mean code - programming came later). Come to think of it
there's something irksome about every language I've ever used. Python
probably the least.....
--------------------->
print( x, 2 )
Implementing algorithms from "The Art of Computer
Programming" might sometimes be difficult in Python, since
those algorithms IIRC often use »goto«.
Good point. I also have a copy of that work of art (and the fascicles -
I must get out more). Sadly little work these days requires diving into
them. In fairness to Knuth his pseudo code is a high level assembler
fully described in Vol:1 and done as such so folk from any high level
language background could follow the algorithms. Back then many like
myself, or indeed most coders, had a hardware background and well used
to assembler. The nearest thing most silicon has to structured
programming is call and return, gotos are everywhere.
I always think one of the reasons Basic became so popular was its /goto
/statement. The other was the run command, no need to compile.
See /http://entrian.com/goto// for a Python implementation from many
years ago. No idea if it still works. To be honist never needed it -
Python has exceptions.
Also there was a interesting thread '/"Goto" statement in Python/' in
April this year (not the 1st). Although mainly interesting for its
references to gotos in 'C' which I use daily now. err 'C' that is. . . .
. .
Used to wind up colleagues by saying loudly "Great, I can use a /*goto
*/here.....". This attracted considerable verbal abuse from purists in
earshot and instruction from the boss NOT TO which I pretended to
ignore. After all Python programming is supposed to be fun!
--
https://mail.python.org/mailman/listinfo/python-list