파이썬에서 *와 **의 목적
Najwa Riyaz
2023년1월30일
이 기사에서는 Python에서*
및**
의 목적을 설명합니다.
파이썬에서는 단일 별표 (*
)와 이중 별표 (**
)를 사용하여 가변 개수의 인수를 나타냅니다.
다음 방법 중 하나로 Python 함수에서 인수를 얼마든지 전달할 수 있습니다.
- 위치 인수 (
*
) - 키워드 인수 (
**
)
파이썬에서*
의 정의
Python에서*
기호를 사용하여 함수에 가변 개수의 위치 인수 / 매개 변수를 허용합니다.
아래 예를 따르십시오.
def function_singleasterix(*someargs):
for i in someargs:
print(i)
이제list
또는tuple
이있는 드라이버 코드는 다음과 같습니다.
listdata = ["Alex", "Tom", "John", "Alice"]
function_singleasterix(listdata)
출력:
['Alex', 'Tom', 'John', 'Alice']
사용자가 매개 변수의 이름을 알지 못하도록하려면 위치 전용 인수를 사용하십시오.
예를 들어, API에서 위치 전용 변수를 사용하는 것이 좋습니다. 이렇게하면 매개 변수 이름이 수정 된 경우 API가 변경되는 경우 손상을 방지 할 수 있습니다.
파이썬에서**
의 정의
Python에서**
기호를 사용하여 함수에 다양한 수의 키워드 인수 / 매개 변수를 허용합니다. 이후 인수는 튜플이나 목록이 아닌 매핑 (사전 키-값 쌍) 항목이어야합니다.
아래 예제 코드를 따르십시오.
def function_doubleasterix(**keywordargs):
print("The keys in the kwargs dicionary are -", keywordargs.keys())
print("The values in the kwargs dicionary are -", keywordargs.values())
print("--The key value assignment in the 'keywordargs' dictionary are as follows--")
for key, value in keywordargs.items():
print("%s == %s" % (key, value))
위의 예에서keywordargs
는 아래 프로그램 에서처럼dictionary
와 연관됩니다.
function_doubleasterix(SNo001="Alex", SNo002="Tom")
출력:
The keys in the 'keywordargs' dicionary are - dict_keys(['SNo001', 'SNo002'])
The values in the 'keywordargs' dicionary are - dict_values(['Alex', 'Tom'])
--The key value assignment in the 'keywordargs' dictionary are as follows--
SNo001 == Alex
SNo002 == Tom
위의 예에서**keywordargs
는 키워드 인수를dictionary
키-값 쌍으로 제공합니다.
Python의 함수 호출에서*
및**
사용
*
및**
기호는 함수 호출에서도 사용됩니다. 다음 중 하나를 사용하여 가변 개수의 인수를 함수에 전달하는 데 사용합니다.
- 목록 -
*
- 튜플-
*
- 사전-
**
따라 할 수있는 몇 가지 예가 있습니다.
변수list
를 입력으로 사용하여 함수를 호출합니다. *
를 다음과 같이 사용
varlist = ["Tom", "John", "Alice"]
functiondef(*varlist)
변수dictionary
를 입력으로 사용하여 함수를 호출합니다. 다음과 같이**
사용
vardict = {"a": "Tom", "b": "John", "c": "Alice"}
functiondef(**vardict)
변수tuple
을 입력으로 사용하여 함수를 호출합니다. *
를 다음과 같이 사용
vartuple = ("Tom", "John", "Alice")
functiondef(*vartuple)
위의 모든 경우에 대한 출력은 다음과 같습니다.
SNo1 = Tom
SNo2 = John
SNo3 = Alice