From Yet another Python textbook
On 21/11/2012 5:17 PM, Chris Angelico wrote:
On Thu, Nov 22, 2012 at 4:03 AM, Colin J. Williams <c...@ncf.ca> wrote:
On 20/11/2012 4:00 PM, Chris Angelico wrote:
To the OP: jmf has an unnatural hatred of Python 3.3 and PEP 393
strings. Take no notice; the rest of the world sees this as a huge
advantage. Python is now in a VERY small group of languages (I'm aware
of just one other) that have absolutely proper Unicode handling *and*
efficient string handling.

ChrisA

It's interesting to see that someone else finds the format function to be a
pain.  Perhaps the problem lies with the documentation.

Hang on, what? I'm not sure where the format function comes in. I was
referring to the underlying representation.
The OP wrote:
  "The absurd flexible string representation has practically
borrowed the idea to propose once Python has a teaching tool."

I perhaps stretched this to refer specifically on one aspect, formatting in my comment.

That said, though, I'm just glad that %-formatting is staying. It's an
extremely expressive string formatting method, and exists in many
languages (thanks to C's heritage). Pike's version is insanely
powerful, Python's is more like C's, but all three are compact and
convenient.

str.format(), on the other hand, is flexible. It strikes me as rather
more complicated than a string formatting function needs to be, but
that may be a cost of its flexibility.

ChrisA

Yes is is complicated.

From my reading of the docs, it seems to me that the three following should be equivalent:

  (a) formattingStr.format(values)
with
  (b) format(values, formattingStr)
or
  (c) tupleOfValues.__format__(formattingStr

Example:
print('{:-^14f}{:^14d}'.format(-25.61, 95 ))
print(format((-25.61, 95), '{:-^14f}{:^14d}'))
(-25.61, 95 ).__format__('{:-^14f}{:^14d}')

The second fails, perhaps because values can only be a single value.
The third fails, the reason is unclear.

Steven D'Aprano earlier said that a better diagnostic tool is planned for Python 3.4.

Should we retreat to %-formatting for now?

Colin W.





--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to