Coding/초보자를 위한 파이썬 300제
초보자를 위한 파이썬 300제 // 229 함수 결과예상
포스트it
2021. 3. 11. 10:01
728x90
반응형

문제
아래 코드의 실행 결과를 예측하라.
def my_print (a, b) :
print("왼쪽:", a)
print("오른쪽:", b)
my_print(a=100, b=200)
내풀이
왼쪽: 100
오른쪽: 200
정답
우선 아래의 기본 코드를 분석해 보겠습니다. 5번 라인에서 함수가 호출되면, 함수가 정의된 1번 라인으로 이동합니다. 이 때 함수의 입력 변수 a에 100을 바인딩하고, b에 200을 바인딩합니다.
my_print(100, 200)
아래 코드는 함수가 호출될 때 a에 100, b에 200을 바인딩하라는 것을 명시적으로 표현한 코드입니다. 아래 코드는 문법만 다를 뿐 위 코드와 동일한 동작을 수행합니다.
my_print(a=100, b=200)
함수의 호출 결과는 아래와 같습니다.
왼쪽: 100
오른쪽: 200
정답해설에서 나왔듯이 a=100 ,b=200 을 바인딩하라는 것을 명시적으로 표현한 것이고,
변수값을 지정해줬기 때문에 만약 문제가 이랬을 경우,
def my_print (c, d) :
print("왼쪽:", c)
print("오른쪽:", d)
변수 에러가 난다.
728x90
반응형