On Fri, 07 May 2010 14:28:05 -0700, Aahz wrote: > In article <[email protected]>, Ben > Cohen <[email protected]> wrote: >> >>eg -- I'd like to do something like this: >> >>errors = [] >>for item in data: >> try: >> process(item) >> except ValidationError as e: >> errors.append(e) >>raise MultipleValidationErrors(*errors) > > First of all, please DO NOT post code with TABs in it. In fact, you > shouldn't even be writing code with TABs -- TAB characters are obsolete > for new Python code.
I don't believe this is correct. Do you have a source for this? Four spaces are recommended by PEP 8, and are compulsory for patches to the standard library, but Python continues to accept either multi-space indents or tabs, and in your own personal code you can use whichever you like. The documentation for Python 3 continues to state that either spaces or tabs will be accepted (and warns against mixing them): http://docs.python.org/py3k/reference/lexical_analysis.html#indentation According to my tests, Python 3.1 continues to accept both spaces and tabs. Tabs on their own are accepted without warning: [st...@sylar ~]$ cat tabs.py def f(x): # This function uses tabs for indents. return x print(f("tabs")) [st...@sylar ~]$ python3.1 tabs.py tabs Even mixing tabs and spaces in the one indent is allowed: [st...@sylar ~]$ cat mixed.py def f(x): # This uses mixed tabs and spaces. return x print(f("mixed tabs and spaces")) [st...@sylar ~]$ python3.1 mixed.py mixed tabs and spaces But using both tab-based indents and space-based indents is not: [st...@sylar ~]$ cat both.py def f(x): # This uses both tabs and spaces. pass # space-indent return x # tab-indent print(f("both tabs and spaces")) [st...@sylar ~]$ python3.1 both.py File "both.py", line 4 return x # tab-indent ^ TabError: inconsistent use of tabs and spaces in indentation -- Steven -- http://mail.python.org/mailman/listinfo/python-list
