Это потому, что 2 и 1 являются целыми числами, а не строками. В общем, если вы хотите сделать это в любом контексте, кроме печати , вам нужно сначала преобразовать их в строки. Например:
myNumber1 = ...
myNumber2 = ...
myCombinedNumberString = str(myNumber1)+str(myNumber2)
В контексте печати вы бы предпочли сделать то, что предлагает Рафаэль в своих ответах (оператор форматирования строки). Я бы лично сделал это так:
print( '{}{}'.format(2,1) )