파이썬/ 이 식을 제가 이해가 안되는거 같습니다 어떤 부분이 틀렸는지 꼬집어주시면 감사하겠습니다.
조회수 434회
def func(x=2):
if x<=0:
return
print(x)
for x in range(3):
func()
2
2
2
제가 실행했을때 이런 값이 나오는데 뭔가 제가 잘못 이해를 하고 있는것같아서 고수님들의 답변을 들어보고싶어서 질문을 올렸습니다. 일단 제가 이해한 식대로라면
- func(x=2)라고 정의한다
- 만약 x가 0보다 작거나 같으면 리턴한다
- 같지않으면 X를 출력한다
- for문에서 x는 0,1,2의 리스트를 가진다
- func()을 콜한다
- 함수에 0을 대입한다 0은 0보다 작거나 같기때문에 리턴한다.그리고 x는0을 대입했기때문에 0를 출력한다
- 함수에 1을 대입한다 1은 0보다 크기때문에 리턴하지않고 프린트한다x에 1대입됬으므로 위식과 같이 1이출력된다.
함수에 2를 대입한다 2는 0보다 크기때문에 리턴하지않고 프린트한다 x에 2가 대입됬으니 위식과같이 2가 출력된다.
- 결론적으로 저는 0 ,1, 2 가 나올줄 알았는데 2,2,2가 나와서 제가 무엇을 놓쳤는지 잘모르겠습니다. 처음 정의했을때 x=2이기 때문에 다른 매게변수가 들어가지 못하는건가요? ..아니면 x는2로 정의되었으니 print(x)는 무조건 2인걸까요..
-
(•́ ✖ •̀)
알 수 없는 사용자
댓글 입력