Уведомления

Группа в Telegram: @pythonsu

#1 Май 8, 2014 14:45:53

quaker
Зарегистрирован: 2013-07-13
Сообщения: 30
Репутация: +  0  -
Профиль   Отправить e-mail  

varArgs A Byteof Python Russia

Здравствуйте уважаемые форумчане .Вот код

def total(initial=5, *numbers, **keywords):
	count = initial
	for number in numbers:
		count += number
	for key in keywords:
		count += keywords[key]
	return count
print(total(10, 1, 2, 3, vegetables=50, fruits=100))
Я его взял из книги A Byte of Python Russia.
1)*numbers - он собирает аргументы с текущей позиции и до конца
2)от куда в for взялся number и key



Использую Python 3 + komodo edit )

Офлайн

#2 Май 8, 2014 15:20:03

s0rg
От:
Зарегистрирован: 2011-06-05
Сообщения: 777
Репутация: +  25  -
Профиль   Отправить e-mail  

varArgs A Byteof Python Russia

*args - список позиционных параметров
**kwargs - словарь именованных параметров

def foo1(*args):
    print args
def foo2(**kwargs):
    print kwargs
foo1(1, 2, 3)
foo2(a=1, b=2, c=3)

Отредактировано s0rg (Май 8, 2014 15:20:18)

Офлайн

#3 Май 8, 2014 15:30:26

quaker
Зарегистрирован: 2013-07-13
Сообщения: 30
Репутация: +  0  -
Профиль   Отправить e-mail  

varArgs A Byteof Python Russia

s0rg
*args - список позиционных параметров**kwargs - словарь именованных параметров
На 3 питоне не хочет работать



Использую Python 3 + komodo edit )

Отредактировано quaker (Май 8, 2014 15:31:38)

Офлайн

#4 Май 9, 2014 01:12:18

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

varArgs A Byteof Python Russia

quaker
print(args)



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

#5 Июнь 8, 2014 13:45:34

quaker
Зарегистрирован: 2013-07-13
Сообщения: 30
Репутация: +  0  -
Профиль   Отправить e-mail  

varArgs A Byteof Python Russia

s0rg
*args - список позиционных параметров**kwargs - словарь именованных параметров
*args - вы имели ввиду кортеж именованных аргументов??



Использую Python 3 + komodo edit )

Офлайн

#6 Июнь 9, 2014 16:05:54

s0rg
От:
Зарегистрирован: 2011-06-05
Сообщения: 777
Репутация: +  25  -
Профиль   Отправить e-mail  

varArgs A Byteof Python Russia

In [1]: def foo(*a):
   ...:     print type(a)
   ...:
In [2]: foo(1, 2, 3)
<type 'tuple'>
Да - кортеж, это что-то меняет?

Офлайн

#7 Июнь 12, 2014 15:02:17

quaker
Зарегистрирован: 2013-07-13
Сообщения: 30
Репутация: +  0  -
Профиль   Отправить e-mail  

varArgs A Byteof Python Russia

s0rg
Да - кортеж, это что-то меняет?
Нет, спасибо



Использую Python 3 + komodo edit )

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version