What does %%(%s)s mean/expand to in Python? What does rowshtml += (rowhtml % ((fieldname, ) * 3)) expand to? Kindly explain.
Peter Otten
__peter__ at web.de
Wed Oct 29 03:42:12 EDT 2014
More information about the Python-list mailing list
Wed Oct 29 03:42:12 EDT 2014
- Previous message (by thread): What does %%(%s)s mean/expand to in Python? What does rowshtml += (rowhtml % ((fieldname, ) * 3)) expand to? Kindly explain.
- Next message (by thread): What does %%(%s)s mean/expand to in Python? What does rowshtml += (rowhtml % ((fieldname, ) * 3)) expand to? Kindly explain.
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
satishmlmlml at gmail.com wrote: > What does %%(%s)s mean in Python? According to https://docs.python.org/2/library/stdtypes.html#string-formatting in an expression like "%%(%s)s" % ("foo",) '%%' expands to '%' and '%s' expands to 'foo' so the whole thing gives >>> "%%(%s)s" % ("foo",) '%(foo)s' To this you can then apply another formatting operation that takes a dict as its right operand to look up 'foo': >>> "%(foo)s" % {"foo": "bar"} 'bar' What you have with "%%(%s)s" is then a template for a template. > also > what does > rowshtml += (rowhtml % ((fieldname,) * 3)) expand to? (fieldname,) is a 1-tuple, so (fieldname,) *3 gives a 3-tuple (fieldname, fieldname, fieldname): >>> fieldname = "foo" >>> (fieldname,) * 3 ('foo', 'foo', 'foo') rowhhtml % (fieldname, fieldname, fieldname) is again string interpolation. Assuming rowhtml contains "<%s>%s<%s>" may you get >>> fieldname = "foo" >>> rowhtml = "<%s>%s</%s>" >>> rowhtml % ((fieldname,)*3) '<foo>foo</foo>'
- Previous message (by thread): What does %%(%s)s mean/expand to in Python? What does rowshtml += (rowhtml % ((fieldname, ) * 3)) expand to? Kindly explain.
- Next message (by thread): What does %%(%s)s mean/expand to in Python? What does rowshtml += (rowhtml % ((fieldname, ) * 3)) expand to? Kindly explain.
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-list mailing list