파이썬에서 *와 **의 목적

Najwa Riyaz 2023년1월30일
  1. 파이썬에서*의 정의
  2. 파이썬에서**의 정의
  3. Python의 함수 호출에서***사용
파이썬에서 *와 **의 목적

이 기사에서는 Python에서***의 목적을 설명합니다.

파이썬에서는 단일 별표 (*)와 이중 별표 (**)를 사용하여 가변 개수의 인수를 나타냅니다.

다음 방법 중 하나로 Python 함수에서 인수를 얼마든지 전달할 수 있습니다.

  1. 위치 인수 (*)
  2. 키워드 인수 (**)

파이썬에서*의 정의

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

관련 문장 - Python Argument