Różnice między poleceniami wejściowymi w Pythonie 2.x i 3.x

Ok, więc używam wielu poleceń wejściowych i zrozumiałem, że w Pythonie 2 mogę:

text = raw_input ('Text here')

Ale teraz, kiedy używam Pythona 3, zastanawiałem się, jaka jest różnica między:

text = input('Text here')

i:

text = eval(input('Text here'))

kiedy muszę korzystać z jednego lub drugiego?

questionAnswers(2)

yourAnswerToTheQuestion