Python에서 *args
및 **kwargs
는 함수가 다양한 수의 인수를 허용하는 유연한 함수를 생성하기 위한 강력한 도구입니다. 이는 함수에 전달될 인수 수를 미리 알 수 없을 때 특히 유용합니다.
*args
이란 무엇인가요? *args
함수는 위치 인수를 원하는 수만큼 허용할 수 있습니다. 이러한 매개변수는 튜플에 저장됩니다.
<code class="language-python">def print_numbers(*args): for number in args: print(number) print_numbers(1, 2, 3, 4, 5)</code>
출력:
<code>1 2 3 4 5</code>
여기서 숫자를 원하는 만큼 전달할 수 있으며 모두 인쇄됩니다. 인수가 전달되지 않으면 args
은 빈 튜플이 됩니다.
**kwargs
이란 무엇인가요? **kwargs
함수는 원하는 수의 키워드 인수를 허용합니다. 이러한 매개변수는 사전에 저장되며, 여기서 키는 매개변수 이름이고 값은 해당 값입니다.
<code class="language-python">def print_info(**kwargs): for key, value in kwargs.items(): print(f"{key}: {value}") print_info(name="Alice", age=25, city="New York")</code>
출력:
<code>name: Alice age: 25 city: New York</code>
여기에서는 원하는 만큼의 키-값 쌍을 전달할 수 있습니다. 키워드 인수가 전달되지 않으면 kwargs
은 빈 사전이 됩니다.
*args
과 **kwargs
같은 기능에서 *args
과 **kwargs
을 모두 사용할 수 있습니다. 이를 통해 위치 인수와 키워드 인수를 모두 처리할 수 있습니다.
<code class="language-python">def describe_person(*args, **kwargs): print("Attributes:") for arg in args: print(f"- {arg}") print("\nDetails:") for key, value in kwargs.items(): print(f"{key}: {value}") describe_person("Friendly", "Helpful", name="Bob", age=30, city="Boston")</code>
출력:
<code>Attributes: - Friendly - Helpful Details: name: Bob age: 30 city: Boston</code>
여기서 *args
는 위치 매개변수(예: "Friendly" 및 "Helpful")를 수집하고 **kwargs
는 키워드 매개변수(예: name="Bob" 및 age=30)를 수집합니다.
*args
를 사용하세요. **kwargs
를 사용하세요. *args
**kwargs
<code class="language-python">def add_numbers(*args): total = sum(args) print(f"The sum is: {total}") add_numbers(1, 2, 3, 4) add_numbers(10, 20)</code>
출력:
<code>The sum is: 10 The sum is: 30</code>
<code class="language-python">def greet_people(**kwargs): for name, greeting in kwargs.items(): print(f"{greeting}, {name}!") greet_people(Alice="Hello", Bob="Hi", Charlie="Hey")</code>
출력:
<code>Hello, Alice! Hi, Bob! Hey, Charlie!</code>
*args
및 **kwargs
<code class="language-python">def shopping_list(*items, **prices): print("Items to buy:") for item in items: print(f"- {item}") print("\nPrices:") for item, price in prices.items(): print(f"{item}: ${price}") shopping_list("Apples", "Bananas", Apples=2, Bananas=1.5, Oranges=3)</code>
출력:
<code>Items to buy: - Apples - Bananas Prices: Apples: Bananas: .5 Oranges: </code>
*args
및 **kwargs
을 사용하면 Python 함수를 더욱 동적이고 유연하게 만들 수 있습니다. 이는 입력 수가 다양할 수 있는 프로그램으로 작업할 때 특히 유용합니다. 소규모 프로젝트부터 시작하여 이러한 기능을 사용해 보면 매우 편리하다는 것을 알게 될 것입니다!
위 내용은 Python의 *args 및 **kwargs 이해의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!