파이썬에서 객체를 매개변수로 전달하기
객체(리스트, 세트, 튜플, 딕셔너리)를 포함하는 변수는 함수에 참조로 전달됩니다. 전달된 변수의 첫 번째 요소를 느낌표로 변경하도록 함수 내 코드를 수정해 보겠습니다. 그리고 함수 아래에 리스트를 값으로 갖는 변수를 선언하겠습니다.
def func(tst):
tst[0] = '!'
print(tst)
lst = [1, 2, 3, 4, 5]
리스트는 참조로 전달되므로, 함수를 호출하면 전역 범위의
lst 값도 변경됩니다.
func(lst) # ['!', 2, 3, 4, 5]를 출력합니다.
print(lst) # ['!', 2, 3, 4, 5]를 출력합니다.
다음 코드를 실행한 결과는 어떻게 될까요?
def func(lst):
lst[0] = '!'
lst = [1, 2, 3, 4, 5]
func(lst)
print(lst)
다음 코드를 실행한 결과는 어떻게 될까요?
def func(lst):
lst[0] = '!'
lst = [1, 2, 3, 4, 5]
lst = func(lst)
print(lst)
다음 코드를 실행한 결과는 어떻게 될까요?
def func(lst):
lst = '!'
lst = [1, 2, 3, 4, 5]
func(lst[0])
print(lst)
다음 코드를 실행한 결과는 어떻게 될까요?
def func(dct):
for key in dct.keys():
dct[key] += 2
dct = {
'a': 1,
'b': 2,
'c': 3,
}
func(dct)
print(dct)