Всем привет, сегодня поговорим о конструкциях языка, которые могут быть полезны, если вы пишете свой код на Python. Параметры *args и *kwargs Рассмотрим пример: Думаю, все хоть раз видели такую запись со звездочками. Сразу скажу, что args и kwargs — общепринятые имена переменных, так что вместо них можно написать что угодно, но рекомендуется именно так. В примере выше функция принимает обязательный аргумент value, а все остальные аргументы идут по усмотрению. В таком случае *args упаковывает все не именованные аргументы в кортеж (как произошло с 'txt', 12345, [1, 2, 3]), а **kwargs — все именованные в словарь (color и name). Эта конструкция является полезной, если мы не знаем, кто и как будет использовать нашу функцию. Также она используется при написании декораторов, когда мы не знаем сколько точно аргументов получает наша оберточная функция. Вычисление размера объектов Для вычисления размера объекта мы можем использовать функцию getsizeof(object[, default]) из встроенного модуля sys