Python - 함수 호출과 매개변수 선언에 있어서 와 *의 사용 규칙

JungSik Heo·2023년 10월 22일
0

파이썬 입문

목록 보기
8/18
post-custom-banner

iterable 객체와 매개변수

func(iterable) : iterable 객체를 전달하면서 을 붙여서 함수 호출할 때
리스트/튜플/문자열을 풀어서 전달

func(dict) : dict 객체를 전달하면서 을 붙여서 함수 호출할 때
딕셔너리의 값을 풀어서 전달

def func(args) : 함수를 정의하면서 매개변수 args에 붙일 때
def func(args) : 함수를 정의하면서 매개변수 args에 붙일 때
func(*iterable)

def who(a, b, c):
print(a, b, c, sep = ', ')

list

who(*[1, 2, 3]) # 1, 2, 3

tuple

who(*(0.1, 0.2, 0.3)) # 0.1, 0.2, 0.3

string

who(*'abc') # a, b, c
func(**dict)
d = dict(a = 1, b = 2, c = 3)

*을 붙이면 키가 매개변수에 전달

who(*d) # a, b, c

**을 붙이면 값이 매개변수에 전달

who(**d) # 1, 2, 3

키와 값을 튜플로 묶어서 함수에 전달

who((d.items)) # ('a', 1), ('b', 2), ('c', 3)
딕셔너리와 매개변수
def func(
args):
print(args) # args는 tuple

func() # ()
func(1) # (1,)
func(1,2) # (1, 2)
func(1,2,3) # (1, 2, 3)

def func2(**args):
print(args) # args는 dict

func(a = 1) # {'a': 1}
func(a = 1, b = 2) # {'a': 1, 'b': 2}
func(a = 1, b = 2, c = 3) # {'a': 1, 'b': 2, 'c': 3}

def func3(*args1, **args2):
print(args1)
print(args2)

func()
func(1, a = 1)
func(1, 2, a = 1, b = 2)

profile
쿵스보이(얼짱뮤지션)
post-custom-banner

0개의 댓글