python 함수 위치인수, 키워드인수

yo·2020년 5월 11일
0

위치인수

-위치인수(positional argument): 함수에 인수를 순서대로 넣는 방식. 인수의 위치가 정해져있음.
예)

print(10,20,30)
10,20,30

언패킹 사용하기

-인수를 순서대로 넣은 때 리스트,튜플 사용 가능.(리스트,튜플 앞에*(애스터리스크)를 붙여서 함수에 넣어주면 됨)
문법: 함수(리스트) 또는 함수(튜플)

x = [1,2,3]
>>> def hi(a,b,c):
	print(a)
	print(b)
	print(c)

	
>>> hi(*x)
1
2
3
>>> hi(*[1,2,3])
1
2
3

가변인수 함수 만들기

문법

def 함수이름(*매개변수):
    코드

예시

def print_nubmer(*args):
	for arg in args:
		print(arg)

		
>>> print_nubmer(10)
10
>>> print_nubmer(1,2,3,4)
1
2
3
4
>>> x=10,20
>>> print_nubmer(*x)
10
20

키워드 인수 사용하기


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

*문법: 함수(딕셔너리)***

def personal_info(name, age, address):
	print('이름:', name)
	print('나이:', age)
	print('주소:', address)

	
>>> x = {'name': 'kim', 'age' : 28, 'address' : 'Seoul'}
>>> personal_info(**x) #혹은 personal_info(**{'name': 'kim', 'age' : 28, 'address' : 'Seoul'})
이름: kim
나이: 28
주소: Seoul

-딕셔너리 언패킹 사용할 땐 매개변수이름=딕셔너리키값이름 같아야 한다.
-매개변수 개수=키 개수 같아야 한다.
-*를 한번만 사용하면? 아래와 같이 된다.

personal_info(*x)
이름: name
나이: age
주소: address

즉, **는 딕셔너리 두 번 언패킹 하는 것.

키워드 인수 사용하는 가변 인수 만들기

def personal_info(**kwargs):
	for kw, arg in kwargs.items():
		print(kw,':', arg, sep='')

		
>>> personal_info(name='kim', age=28)
name:kim
age:28
>>> x = {'name' : 'lee', 'age' : 30}
>>> personal_info(**x)
name:lee
age:30

-보통 **kwargs를 사용한 가변 인수 함수는 다음과 같이 함수 안에서 특정 키가 있는지 확인한 뒤 해당 기능을 만듬

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

문법:

def 함수이름(매개변수=값):
    코드

가장 중요한 것: 복수의 매개변수 생성시 초깃값이 있는 매개변수는 맨 뒤로 가야한다. because 초깃값을 가진 매개변수 뒤에 초깃값이 없는 매개변수가 오면 오류가 발생

예시

def personal_info(name, age, address='비공개'):
	print('이름:', name)
	print('나이:', age)
	print('주소:', address)

	
>>> personal_info(name='kim', age=30)
이름: kim
나이: 30
주소: 비공개
profile
Never stop asking why

0개의 댓글