ishtar2020 wrote: > Hi everybody > > I've been writing my very first application in Python and everything is > running smoothly, except for a strange problem that pops up every once > in a while. I'm sure is the kind > of newbie thing every seasoned programmer knows. > > Sometimes a receive strange Syntax Errors from parts of code that > worked perfectly minutes ago. What's even more puzzling is that those > errors are pointed to another part of the module when I do some random, > innofensive changes in the code (like inserting a line or deleting some > comments). Sometimes those changes are enough to make the error > dissapear. > > Could it be that python has found a real error but is failing to tell > me where it is? >
I don't mean to accuse you or to start a tab v. non-tab war (is tab v. non-tab a holy war?, it should be because tabs are so damn useful for formatting and getting everything just-right), but don't use tabs if you are using them. Here are the reasons: 1. they personally annoy me. 2. you can't see the damn things (hence the basis for why they are so annoying). "Tab" comes from the root for the Greek for "table" (or is it the other way around?, or is it Latin? or Arabic? or Hebrew?). Thus, tabs should be reserved for thier god-given intended purpose, which is tab-delimited tables, where a parser can easily separate by them. Internal, and hence annoying, tabs should not be used elsewhere because it screws everything up. For example, here is a tab-delimited parser written in python table = [] for line in tab_delimited_table: table.append(line.split('\t')) Man that was easy! Now, when people put annoying tabs everywhere, to get their indent just-so, then it totally screws everything up, including this parser, which was designed for tables delimited by tabs--because that is the tab's special purpose. There is one exception however. Its called the tab-space-tab approach. If you are using tabs to indent your code, then always put at least one space between tabs. Never put two tabs together. This helps the editor to display your code correctly. James -- James Stroud UCLA-DOE Institute for Genomics and Proteomics Box 951570 Los Angeles, CA 90095 http://www.jamesstroud.com/ -- http://mail.python.org/mailman/listinfo/python-list