달력

6

« 2020/6 »

  •  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  •  
  •  
  •  
  •  


 

 

 

가변인수 리스트

·       함수의 입력파라미터의 갯수를 미리 알 수 없을 인수의 개수가 정해지지 않은 가변 인수를 전달합니다.

·       함수 정의시에 일반적인 인수 선언 앞에 * 사용하여 *입력변수 형식의 인수로 가변 인수를 선언할 수 있습니다.

·       입력변수에는 함수 호출시 넣어주는 인수 값들 중 일반 인수에 할당되는 값을 제외한 나머지 값들을 지닌 튜플 객체가 할당됩니다.(인수는 튜플 형식으로 전달됩니다.)

 

 

 

 

 

CASE 1

같은 타입의 데이터를 가변적으로 함수의 인자로 입력받을 있습니다.

def 함수이름(*입력변수):

    <수행할 문장>

    ...

 

 

입력받은 리스트 객체에서 합집합을 구하는 함수 정의시 입력받는 인수부분을 가변인수로 정의하여 여러 인수를 튜플형식으로 입력받을 있습니다.

>>> def union(*items):

results=[]

for item in items:

for x in item:

if not x in results:

results.append(x)

return results

 

>>> union("red", "green", "yellow", "black")

['r', 'e', 'd', 'g', 'n', 'y', 'l', 'o', 'w', 'b', 'a', 'c', 'k']

 

 

 

 

 

 

CASE 2

dict변수에 값을 저장한 다음 dict변수를 통해 함수를 호출할 있습니다.

def 함수이름(*입력변수):

    <수행할 문장>

    ...

dict변수생성

함수이름(*dict변수명)

 

>>> def union(*items):

results=[]

for item in items:

for x in item:

if not x in results:

results.append(x)

return results

 

>>> colors = "red", "green", "yellow", "black"

>>> union(*colors)

['r', 'e', 'd', 'g', 'n', 'y', 'l', 'o', 'w', 'b', 'a', 'c', 'k']

 

 

 

 

 

CASE 3

같은 타입의 데이터를 가변적으로 함수의 인자로 입력받을 있는데 키워드인수 형태로 입력받습니다.

def 함수이름(**입력변수):

    <수행할 문장>

    ...

 

>>> def union(**items):

    results=[]

    for k, v in items.items():

        for x in v:

            if not x in results:

                results.append(x)

    return results

 

>>> union(a='red', b='green', c='yellow', d='black')

['r', 'e', 'd', 'g', 'n', 'y', 'l', 'o', 'w', 'b', 'a', 'c', 'k']

 

 


'Development > Python' 카테고리의 다른 글

디렉토리(트리) 탐색하기  (0) 2020.01.22
sys 모듈의 표준 입출력 관련 객체  (0) 2020.01.22
가변인수 리스트  (0) 2020.01.22
global 명령어 이용하기  (0) 2020.01.22
LGB 규칙  (0) 2020.01.22
이름공간(NameSpace)  (0) 2020.01.22
Posted by codedragon codedragon

댓글을 달아 주세요