Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.93/29: Рейтинг темы: голосов - 29, средняя оценка - 4.93
-11 / 1 / 0
Регистрация: 08.03.2020
Сообщений: 132

Зачем нужны квадратные скобки в данном коде?

25.03.2020, 14:36. Показов 6009. Ответов 18

Студворк — интернет-сервис помощи студентам
Python
1
2
3
4
5
6
7
8
9
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))
Почему в 6 строке пишется keywords[key]? Для чего эти квадратные скобки и почему в строке выше не нужно было этого делать? ( count += number )
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
25.03.2020, 14:36
Ответы с готовыми решениями:

Что означают квадратные скобки в коде
n = int(input()) r = *4+ n -= 60*(n//60) r = n//20 n -= 20*(n//20) r = n//10 n -= 10*(n//10) r = n//5 n -= 5*(n//5) r =...

Для чего нужны квадратные скобки
Объясните пожалуйста для чего нужны квадратные скобки в этих формулах R:= V0 - Y - Y; P:= Y; P:= (K1 * R1 - Y - A1 * Y) / A2;

Определить, есть ли в данном многострочном тексте указанное слово, и заключить его в квадратные скобки
Помогите, пожалуйста решить задачу. Заранее благодарен. Дан многострочный текст char text. Определить, есть ли в данном тексте...

18
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
25.03.2020, 15:04
Цитата Сообщение от Dathris Посмотреть сообщение
Для чего эти квадратные скобки
keywords это словарь. Скобки это доступ по ключу.
count это простая неконтейнерная переменная в которых лежит одна чиселка типа int.
P.S. Бери в руки книгу Лутца и читай про именованные параметры функции.
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
25.03.2020, 15:10
Лучший ответ Сообщение было отмечено Dathris как решение

Решение

Цитата Сообщение от Dathris Посмотреть сообщение
почему в строке выше не нужно было этого делать?
Разные типы данных:
Python
1
2
3
4
5
6
7
>>> def total(initial=5, *numbers, **keywords): 
...     print(type(numbers))
...     print(type(keywords))
... 
>>> total()
<class 'tuple'>
<class 'dict'>
Добавлено через 1 минуту
Вообще удобнее так итерировать словарь:
Python
1
2
    for key, value in keywords.items(): 
        count += value
0
-11 / 1 / 0
Регистрация: 08.03.2020
Сообщений: 132
25.03.2020, 15:23  [ТС]
Допустим. А почему тогда не нужно было в словаре numbers делать тоже самое?
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
25.03.2020, 15:36
Потому что это не словарь, а tuple. И у него тоже можно обращаться к элементам по индексу:
Python
1
print(numbers[0])
0
-11 / 1 / 0
Регистрация: 08.03.2020
Сообщений: 132
25.03.2020, 15:41  [ТС]
Я извиняюсь, что задалбываю, но почему тогда numbers не считается словарем? Они же почти одинаковые
0
Заклинатель змей
 Аватар для DobroAlex
705 / 560 / 219
Регистрация: 30.04.2016
Сообщений: 2,605
25.03.2020, 15:52
Dathris, Вы понимаете отличие словаря от Tuple?
0
-11 / 1 / 0
Регистрация: 08.03.2020
Сообщений: 132
25.03.2020, 15:54  [ТС]
А по мне разве видно, что понимаю? Разве заходя в раздел "Python для начинающих" вы не ожидали увидеть людей, которые не знают очевидного?
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
25.03.2020, 15:57
Цитата Сообщение от Dathris Посмотреть сообщение
заходя в раздел "Python для начинающих" вы не ожидали увидеть людей, которые не знают очевидного
Для незнающих очевидное есть бесплатные online-курсы и лекции для начинающих, в которых подобные вещи объясняют на первой-второй лекции. Форум не предназначен для того, чтобы быть заменой книгам, документации и курсам.
0
Заклинатель змей
 Аватар для DobroAlex
705 / 560 / 219
Регистрация: 30.04.2016
Сообщений: 2,605
25.03.2020, 15:58
Dathris, без негативычей, но я ожидаю, что человек сначала изучает базы синтаксис хотя бы по книжке, а потом идёт на форум. Конечно же, ожидается и что человек знает "алгоритмы и структуры данных" без привязки к языку
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
25.03.2020, 15:58
Начните, например с этого курса:
Алгоритмы и структуры данных на Python 3, 2017-2018, Тимофей Хирьянов - (27)
https://www.youtube.com/playli... bm4GeOjjc0
0
-11 / 1 / 0
Регистрация: 08.03.2020
Сообщений: 132
25.03.2020, 15:58  [ТС]
Это и есть пример из книги. Лекции позволить не могу.
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
25.03.2020, 15:59
Цитата Сообщение от Dathris Посмотреть сообщение
Лекции позволить не могу
Нет интернета? Желания? Терпения?
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
25.03.2020, 16:22
Цитата Сообщение от Dathris Посмотреть сообщение
Они же почти одинаковые
У них разный тип. У каждой переменной есть тип. У разного типа есть разные методы (функции) по манипулирования с данными.
0
-11 / 1 / 0
Регистрация: 08.03.2020
Сообщений: 132
25.03.2020, 16:25  [ТС]
То есть у них разный тип, из-за того, что в numbers указали числа, а в keywords переменные по типу vegetables=50?
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
25.03.2020, 16:49
Нет. Из-за того, что у одного указали одну звёздочку, у другого - две.

Добавлено через 2 минуты
А в обоих (tuple и list) внутри лежат числа (int).

Добавлено через 52 секунды
Только у словаря ключами являются скорей всего строки (str).
0
-11 / 1 / 0
Регистрация: 08.03.2020
Сообщений: 132
25.03.2020, 16:50  [ТС]
А, ну я вроде понял. Спасибо. Непонятно конечно почему этого не объяснили в книге, ну ладно.
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
25.03.2020, 16:59
Цитата Сообщение от Dathris Посмотреть сообщение
Непонятно конечно почему этого не объяснили в книге
В книге Лутца Изучаем Python объясняется все.
Начинать нужно с нее.

Добавлено через 1 минуту
А в Byte of Python много всего опущено.
Поэтому каждый второй и вопрошает потом:
Здравствующие уважаемые формучане. Я не могу понять в данном примере для чего нужны * и почему в операторе for есть слово number и как оно связано с numbers
1
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
25.03.2020, 16:59
Наверное, предполагается, что вы знаете про переменные и про типы переменных. Да и самостоятельно можно проверить тип переменной в отладчике или тупо функцией type (как я привёл пример).
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
25.03.2020, 16:59
Помогаю со студенческими работами здесь

Зачем нужны скобки?
Видел много кодов со скобками. И не могу понять, какую роль они выполняют. Например: let a = document.querySelector('#block'); ...

Зачем нужны фигурные скобки?
class ShopProduct{ public $title = 'Стандартный товар'; public $ProducerMainName = ' Фамилия автора'; public $ProducerFirstName =...

Зачем нужны фигурные скобки
есть такой кусок кода inline ThreadPool::ThreadPool(size_t threads) : stop(false) { for(size_t i = 0;i&lt;threads;++i) ...

куда ссылаются квадратные скобки в этом коде?
Добрый день, уважаемые форумчане! Имеется вот такой код: .text:00539AFC loc_539AFC: ; CODE XREF:...

Списки в maple - зачем нужны скобки?
x := lhs(otrezok); a := op(rhs(otrezok)); b := op(rhs(otrezok)); для меня не понятны эти скобки, зачем они нужны?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
Новые блоги и статьи
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru