> Crutcher Dunnavant wrote: > >>> 1. Shouldn't there be a format method, like S.format(), or S.fmt()? > > Why? Because: > > 1 It is trivially cheap, format() would be the same function as __rmod__
No it shouldn't be. format() should be a varargs function; __rmod__ takes a single argument which may be a tuple. Also, format() could take keyword args in case the string contains named format, so I can write e.g. "%(foo)s".format(foo=123). > > 2 It adds consistency with lower(), strip(), and other methods which > > produce new strings. I'm not sure that's much of an argument. > > 3 I am not arguing _against_ syntactic support, I am arguing _for_ a method; > > we can keep the syntactic support. But remember TOOWTDI from the Zen of Python. On 4/2/06, Walter Dörwald <[EMAIL PROTECTED]> wrote: > and it avoids one problem you might run into with %: If you have only > one argument, writing ``s % (x,)`` as ``s % x`` will break when the > argument x happens to be a tuple. You won't have this problem with > s.format(x). In fact, now that I think of it, if s.format() were available, I'd use it in preference over s%x, just like I already use repr(x) in favor of `x`. And just like `x` is slated for removal in Python 3000, we might consider removing using % for formatting. The main reason probably being the problem Walter points out (which is very real). -- --Guido van Rossum (home page: http://www.python.org/~guido/) _______________________________________________ Python-3000 mailing list Python-3000@python.org http://mail.python.org/mailman/listinfo/python-3000 Unsubscribe: http://mail.python.org/mailman/options/python-3000/archive%40mail-archive.com