> like this one ? > > b = dict(name="Sue", job="SAS sharp-shooter") > print "$b['name']$ works as b['job']" > > Is it really easier to read that the following ? > "{0} works as {1}".format(b['name'],b['job']) > > In the case in which b is an object having "job" and "name" > attribute, the dynamic string will write > > "$b.name$ works as $b.job$" > instead of > "{0}.name works as {0}.job".format(b) >
When you already have a dict, the dict-based formatting would be nice. >>> "%(name)s works as %(job)s"%b If it you need to create a dict just for string formatting, dynamic string would be nice. Say your object has methods/properties that fetch things from your database. >>> class staff: ...@property ...def name(): return 'Peter' ... >>> t = staff() >>> vars(t) {} >>> t.name 'Peter' >>> d"Staff name: $t.name$" #note the d"..." format 'Staff name: Peter' Because of the d"..." format, it won't affect old ways of doing things one bit. Allowing dynamic string wouldn't hurt a bit to anything that is already there. -- http://mail.python.org/mailman/listinfo/python-list