|
0 / 0 / 0
Регистрация: 27.12.2015
Сообщений: 37
|
||||||
Переменное число параметров05.09.2016, 19:46. Показов 11478. Ответов 10
Метки нет (Все метки)
Здравствуйте, начал изучать Python, как прошла неделя уже), скачал книгу "Укус питона", очень доходчивая книжка, но вот не до конца понял одну тему "Переменное число параметров", там довольно простой пример, но мне как человеку с интеллектом ниже среднего все же не до конца все ясно.
0
|
||||||
| 05.09.2016, 19:46 | |
|
Ответы с готовыми решениями:
10
Переменное число параметров
Переменное число аргументов в функции python |
|
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
|
|
| 06.09.2016, 00:08 | |
|
initial это аргумент со значением по умолчанию, в него будет передано первый переданный аргумент из списка всех аругментов, в numbers будут засунуты все не именованный аргументы, а в keywords все именованные (vegetables, fruits).
Что конкретно не понятно?
1
|
|
|
0 / 0 / 0
Регистрация: 27.12.2015
Сообщений: 37
|
|
| 06.09.2016, 18:42 [ТС] | |
|
То есть initial это "аргумент" к которому присвоили значение 5(значение) и потом это значение будет автоматически присвоено numbers и к keywords? Затем count присвоили initial. Затем идет массив, который делает что то непонятное. number пересчитывает до numbers? или что это за процесс? затем идет count = count + number, откуда number взялся? был же numbers. Дальше аналогично, затем идет return count, это мы "вернули"? Что мы вернули? Простите если не разборчиво.
0
|
|
|
77 / 76 / 57
Регистрация: 07.08.2016
Сообщений: 173
|
|
| 06.09.2016, 19:25 | |
|
initial - это счётчик. initial по умолчанию равно 5, если не присваивается другого при вызове функции. После первого аргумента (initial) может задаваться некоторое количество значений, которые записываются в множество numbers. Дальше можно задать несколько именованных значений, которые запишутся в словарь keywords.
В приведённом примере первый аргумент функции есть число, он меняет значение count с 5 на 10. Следующие три значения записываются в (1, 2, 3), и первый цикл, проходя по этому множество, прибавляет каждое его значение к count. Т.е. после 1-го цикла count = 16. Оставшиеся 2 аргумента записываются в словарь {'fruits': 100, 'vegetables': 50}. Второй цикл прибавляет значение каждого элемента его к счётчику. Т.е. эта функция вернёт значение 166.
0
|
|
|
0 / 0 / 0
Регистрация: 27.12.2015
Сообщений: 37
|
|||||||||||
| 06.09.2016, 19:45 [ТС] | |||||||||||
|
Тоесть
0
|
|||||||||||
|
77 / 76 / 57
Регистрация: 07.08.2016
Сообщений: 173
|
||||
| 06.09.2016, 20:21 | ||||
Каждый проход цикла итератору присваивается поочерёдно значение элемента итерируемого объекта. number будет равно (1, 2, 3). Т.е. в первом цикле number сначала будет присвоено значение 1, потом оно прибавится к count. Потом присваивается и прибавляется значение 2, потом 3. Во втором цикле итератор key проходит по значениям словаря keywords {'fruits': 100, 'vegetables': 50}. Нужно к count прибавить ключи, т.е. числа. Поэтому нужно извлечь ключ из словаря с помощью квадратных скобок. Не знаю, как объяснить ещё подробней.Почитайте получше о циклах.
0
|
||||
|
0 / 0 / 0
Регистрация: 27.12.2015
Сообщений: 37
|
||||||
| 07.09.2016, 19:07 [ТС] | ||||||
|
Давайте пробежимся по коду еще раз, если можно). Вот мы объявили функцию TOTAL, вот мы создали три агрумента, initial, *numbers, **keywords. Зачем то поставили знак "звездочка", затем создали переменную count, присвоили ей значение initial. Затем итерируем, слово то какое непонятное кое как разобрался с переводом на русский), то есть берем переменную и проводим ее, итерируем тоесть создаем массив, "number"- количество раз, цифры (1,2,3) по порядку. Затем переменную count = count + number, производим какую то операцию, тоесть взяли число 10 и стали прибавлять сначала 1, потом 2, потом 3. в общей сумме получили 16. Тогда вопрос, зачем мы это сделали если можно было бы просто взять и сплюсовать это все? Затем идет переменная key, мы берем данные от "vegetables" и "fruits" , а тоесть count=count + keywords[key], а именно то что мы получили с верху, цифру 16, мы ее взяли и приплюсовали к сумме обоих значений, vegetables" и "fruits". И дальше идет return, который возвращает такое колличество раз итерацию, сколько указанно в
0
|
||||||
|
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
|
||
| 07.09.2016, 19:14 | ||
|
0
|
||
|
0 / 0 / 0
Регистрация: 27.12.2015
Сообщений: 37
|
|
| 07.09.2016, 19:24 [ТС] | |
|
а в этом примере не именованные переменные это 1, 2, 3 же? а именованные это vegetables=50, fruits=100?
0
|
|
|
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
|
|
| 07.09.2016, 19:26 | |
|
Да.
1
|
|
|
0 / 0 / 0
Регистрация: 20.03.2019
Сообщений: 1
|
|
| 20.03.2019, 21:36 | |
|
А зачем нам вообще нужен параметр initial? Ведь без него переменной count можно присвоить 0 и она будет работать как счётчик и программа будет работать также. Объясните пожалуйста какую функцию выполняет параметр initial. Спасибо заранее за ответ))
0
|
|
| 20.03.2019, 21:36 | |
|
Помогаю со студенческими работами здесь
11
QStringList в переменное число параметров
Переменное число параметров шаблона
Переменное число параметров в шаблонном классе Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Контроль уникальности заводского номера - вариант №2
Maks 24.03.2026
В отличие от предыдущего варианта добавлено прерывание циклов, также добавлены новые переменные для сохранения контекста ошибки перед прерыванием цикла:
Процедура ПередЗаписью(Отказ, РежимЗаписи,. . .
|
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога
Финальные проекты на Си и на C++:
finish-text-sdl3-c. zip
finish-text-sdl3-cpp. zip
|
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
|
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo
Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло.
Но на выплатах по больничным это. . .
|
|
Контроль уникальности заводского номера - вариант №1
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью. Данные берутся из регистра сведений, по которому настроено. . .
|
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y
Z4Tv2zpXVVo
https:/ / github. com/ shumilovas/ med2. git
|
Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа.
В качестве фильтра для отбора справочника служит группа номенклатуры.
Отбор по наименованию группы. . .
|
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
|