I discovered this pattern (or anti-pattern) and I am very happy with it.
I feel it is very agile:
def example():
age = ...
name = ...
print "hello %(name)s you are %(age)s years old" % locals()
Sometimes I use its cousin:
def example2(obj):
print "The file at %(path)s has %(length)s bytes" % obj.__dict__
I don't need to create an artificial tuple and count parameters and keep the %s matching positions inside the tuple.
Do you like it? Do/Would you use it? Yes/No, please explain.