VIDEO
#python #урок #курс 00:00:00 вступление 00:00:39 *args пример 1 00:03:10 *args пример 2 00:04:32 **kwargs 00:07:51 упражнение 00:14:26 заключение *args = позволяет передавать несколько неключевых аргументов **kwargs = позволяет передавать несколько ключевых аргументов * оператор распаковки ---- *ARGS Пример 1 ---- def add(*nums): total = 0 for num in nums: total += num return total print(add(1, 2, 3, 4)) ---- *ARGS Пример 2 ---- def display_name(*args): print(f"Hello", end=" ") for arg in args: print(arg, end=" ") display_name("Доктор", "Губка Боб", "Гарольд", "Квадратные Штаны", "III") ---- **KWARGS ---- def print_address(**kwargs): for value in kwargs.values(): print(value, end=" ") print_address(street="123 Fake St.", pobox="P.O. Box 777", city="Detroit", state="MI", zip="54321") ---- УПРАЖНЕНИЕ ---- def shipping_label(*args, **kwargs): for arg in args: print(arg, end=" ") print() if "apt" in kwargs: print(f"{kwargs.get('street')} {kwargs.get('apt')}") elif "pobox" в kwargs: print(f"{kwargs.get('street')}") print(f"{kwargs.get('pobox')}") else: print(f"{kwargs.get('street')}") print(f"{kwargs.get('city')}, {kwargs.get('state')} {kwargs.get('zip')}") shipping_label("Доктор", "Губка Боб", "Квадратные Штаны", street="123 Fake St.", pobox="а/я № 1001", city="Детройт", state="Мичиган", zip="54321")