[python] 함수에서 위치인수와 키워드인수 사용하기

anjiyoo·2024년 3월 6일

Python

목록 보기
29/41
post-thumbnail

1.위치 인수와 리스트 언패킹 사용하기

  • 위치 인수 : 함수에 인수를 순서대로 넣는 방식
  • 언패킹 : 리스트의 포장을 푼다
def 함수이름(매개변수1, 매개변수2):  # 위치 인수를 사용하는 함수
	코드

1-1.위치 인수를 사용하는 함수 만들기

def print_numbers(a,b,c):
	print(a)
    print(b)
    print(c)

print_numbers(10,20,30)

1-2.언패킹 사용하기

  • 인수를 순서대로 넣을 때는 리스트나 튜플을 사용
함수(*리스트)  # 리스트 언패킹
함수(*튜플)  # 튜플 언패킹

함수의 매개변수 개수 = 리스트의 요소 개수
(개수가 다르면 함수를 호출할 수 없다)


x = [10,20,30]
print_numbers(*x)

2.가변 인수 함수 만들기

  • 가변 인수 : 인수의 개수가 정해지지 않은 인수
  • 매개변수 이름은 관례로 args 사용
def 함수이름(*매개변수):  # 위치 인수를 사용하는 가변 인수 함수
	코드
    
함수(인수1, 인수2)  # 인수 여래 개를 직접 넣기
함수(*리스트)  # 리스트 언패킹
함수(*튜플)  # 튜플 언패킹
def priint_numbers(*args):
	for arg in args:
    	print(arg)

print_numbers(10, 20, 30, 40)

3.키워드 인수 사용하기

  • 키워드 인수는 인수에 이름(키워드)을 붙이는 기능
함수(키워드=값)
함수(키워드1=값1, 키워2=값2)  # 함수를 키워드 인수 방식으로 호출
def personal_info(name,age,address):
	print('이름: ', name)
	print('나이: ', age)
	print('주소: ', address)
    
personal_info('홍길동',30,'서울시 용산구 이촌동')

3-1.키워드 인수와 딕셔너리 언패킹 사용하기

함수(**딕셔너리)  # 딕셔너리 언패킹
def personal_info(name,age,address):
	print('이름: ', name)
	print('나이: ', age)
	print('주소: ', address)
    
x = {'name': '홍길동','age':30,'address':'서울시 용산구 이촌동'}
personal_info(**x)

3-2.** 를 두 번 사용하는 이유

  • 딕셔너리는 키-값 쌍 형태로 값이 저장되어 있어서 ** 두번 사용
  • * 한 번만 사용하면 *x를 쓰면 x의 키가 출력 (딕셔너리를 한 번 언패킹 -> key만 사용)

3-3.키워드 인수를 사용하는 가변 인수 함수 만들기

  • 매개변수에 **를 붙여주면 키워드 인수를 사용하는 가변 인수 함수를 만들 수 있음
  • 함수를 호출할 때는 키워드와 인수를 각각 넣거나 딕셔너리 언패킹 사용
def 함수이름(**매개변수):  # 키워드 인수를 사용하는 가변 인수 함수
	코드
    
함수(키워드1=값1, 키워드2-값2)  # 키워드 인수를 직접 넣기
함수(**딕셔너리)  # 딕셔너리 언패킹
def personal_info(**kwargs):
	for kw, arg in kwargs.items():
    	print(kw, ':', arg, sep='')
        
personal_info(name='홍길동', age=30, address='서울시 용산구 이촌동')

4.매개변수에 초깃값 지정하기

  • 초깃값이 지정된 매개변수 다음에는 초깃값이 없는 매개변수가 올 수 없음
def 함수이름(매개변수=값):
	코드
def personal_info(name, age, address='비공개')
	print('이름: ' name)
	print('나이: ' age)
	print('주소: ' address)
profile
기록으로 흔적을 남기는 것을 좋아합니다

0개의 댓글