You could use the str.format() function, that allows named arguments, so:
'''line {0}
line {1}
line {2}'''.format(1,2,3)
You could of course extend this using Python’s *args syntax to allow you to pass in a tuple or list:
args = (1,2,3)
'''line {0}
line {1}
line {2}'''.format(*args)
If you can intelligently name your arguments, the most robust solution (though the most typing-intensive one) would be to use Python’s **kwargs syntax to pass in a dictionary:
args = {'arg1':1, 'arg2':2, 'arg3':3}
'''line {arg1}
line {arg2}
line {arg3}'''.format(**args)
For more information on the str.format() mini-language, go here.