Имеется две функции:
1
2 def a(*args):
print args
и
1
2 def b(**args):
print args
Чем они отличаются? Обе функции принимают произвольное число аргументов об этом свидетельствует символ «*» перед args, но функция b позволяет принимать именованные. В теле a параметр обрабатывается как кортеж. В подтверждение тому немного изменим тело первой функции и вызовем ее:
1
2
3
4 def a(*args):
print type(args)
a(1, 2, 3, 4, 5, "вышел", "зайчик", "погулять") # type 'tuple'
Параметр args в теле функции b обрабатывается как словарь, содержащий пары название-значение произвольного количества аргументов:
1
2
3
4 def b(**args):
print type(args)
b(name='anry', age=20) # type 'dict'



июля 6, 2010 at 18:23
1 — list
2 — dictionary
както так
июля 6, 2010 at 18:57
Если говорить о типах возвращаемых значений, то Вы почти правы, только 1й — кортеж.