初心者の質問失礼します。

def doubleChar(str):
    vessel = ''
    for i in range(len(str)):
        vessel += str[i]*2
    return vessel

この関数は、以下のように
doubleChar('The') → 'TThhee'
パラメータで受け取った値を、連続して表示するものです

関数の前に変数を決めないといけません。例では、vessel = ""

なぜこれは必要なのでしょうか?関数の外にあってもダメで、中でないといけない理由も知りたいです。