¿La palabra clave 'Return' devuelve solo un elemento de un bucle?

Tengo una función simple para leer el archivo csv y extraer el primer colum de él:

import csv 

def pass_username():
    with open('test.csv', 'r') as csvfile:
        spamreader = csv.reader(csvfile, delimiter=',')
        for row in spamreader:
            return row[0]

Cuando llamo a esta función como:

a = pass_username()
print a 

Esto solo imprime el primer elemento. Sin embargo, cuando sustituyoreturn palabra conprint comoprint row[0] y llamar a la función comopass_username() Imprime todos los elementos. Quiero asignar esa función a una variable, por lo tanto, quiero usar return. ¿Como arreglarlo?

Contenido de test.csv:

"[email protected]","rockon"
"[email protected]","hey"
"[email protected]","ok"
"[email protected]","password"

Respuestas a la pregunta(3)

Su respuesta a la pregunta