On 04/02/10 11:25, Abethebabe wrote: > I've recently finished reading A Byte Of Python and have the basics of > Python down. I want to continue practice but I'm unsure what I can do. > So I started looking for tutorials to open my mind a little, but > everything I come across are beginner tutorials that cover the same > topics...over and over.
In programming, if you've gone past the beginner level, the only text you ever need is the reference manual. If you want to broaden your mind, you may want to learn other languages that have distinctly different paradigms than the ones you already know. Then when you get back to python, you will be able to see new angles to attack a problem from. > Can anyone point me to good Intermediate tutorials, that don't make > use of libraries and such (so I can get really comfortable with the > core language.) Maybe even the source code of some simple Python > applications, so I can observe and learn the code myself. > > Really appreciative of any help! Strengthen your math, specifically discrete math; many problems are just different manifestations of a few classes of problem. You can leverage developing completely new methods and new ideas by abstracting your problem to find out the the class of problem your problem belongs to. (contrived analogy: a head chef need to determine whether the remaining ingredients will suffice for the day; a bricklayer need to determine the number of bricks he need to buy for a span of wall; those problems has a common solution: counting and number division). In short, read a book about math and/or problem solving. Recommendations: The Art of Computer Programming by D.E. Knuth, Algorithm Design Manual by S.S. Skiena. Frequent the mailing list. Only by then you will learn to write "idiomatic python"; a book can be compiled about common python idioms but they will more-or-less be the author's perspective of the idioms instead of actual python's idioms. I found that, in python at least, avoiding use of library often forces you to write non-idiomatic python because many libraries are written specifically because it is difficult to write the equivalent efficient code with idiomatic python. In short, don't avoid the library if you want to learn idiomatic python. (if you want to learn about the algorithms though, avoiding libraries is a fine restriction) -- http://mail.python.org/mailman/listinfo/python-list