Ps. For readability you can also roll your own sprintf function: def format(s, *args, **kwargs): if args: return s % args elif kwargs: return s % kwargs else: return s s = 'I like %s and %s.' print format(s, 'ham', 'cheese') s = 'I like %(b)s and %(c)s.' print format(s, b='butter', c='eggs') > Regards, > Jordan