Функции возвращают значение (или изменяют объект или оба) и все. Хотя у них есть члены, к которым вы можете получить доступ (спасибо @Jon Clements), как и другие объекты, это не типичный способ их использования, а first
не является одним из них, поэтому go().first
не собирается работать.
Кроме того, go()
предоставит вам возвращаемое значение функции, а не сам функционал. Таким образом, вы на самом деле звоните:
[1,2,3,4,5,1].first
Который также не имеет смысла.
Таким образом, go()
возвращает значение, которое было названо first
в контексте функции (вот список [1, 2, 3, 4, 5, 1]
). Вы можете использовать это значение, дав ему имя после вызова функции, чтобы получить его:
# give `go`'s result a name
lst = go()
# now use it via that name ...
print map(sum, izip_longest(lst, second, fillvalue=0)
Вы можете также использовать его сразу:
print map(sum, izip_longest(go(), second, fillvalue=0)
Было бы полезно иметь сообщения об ошибках (если таковые возникают) и чего вы хотите достичь. –