Python raw_input zakłóca łączenie łańcuchów

Próbuję zrobić coś stosunkowo prostego w Pythonie i jestem zaskoczony tym, jak źle to nie działa, jak powinno być proste.

Po prostu próbuję połączyć trzy proste struny. Wprowadzone dane w raw_input to"abc" we wszystkich przypadkach poniżej:

proj = raw_input("Name of project: ")
print proj
ProjRegex = 'test1' + proj + 'test2'
print ProjRegex

Plony:

abc
test2abc

Przypadek 2

proj = raw_input("Name of project: ")
print proj
ProjRegex = 'test1%stest2' % (proj)
print ProjRegex

Plony:

abc
test2abc

Zauważ, że w obu przypadkach zamiast drukowania"test1abctest2", zgodnie z oczekiwaniami, zastępuje test2 test1.

Wtedy zauważyłem, że jeśli zamiast używać raw_input, jeśli powiem:

proj = "abc"
ProjRegex = 'test1' + proj + 'test2'

Wtedy zachowuje się zgodnie z oczekiwaniami.

Więc coś się dziejeraw_input() który chce dokonać zamiany łańcuchów? Rozumiem, że pobiera dane z klawiatury, usuwa znak nowej linii i zwraca jako ciąg znaków.

questionAnswers(3)

yourAnswerToTheQuestion