아하
검색 이미지
생활꿀팁 이미지
생활꿀팁생활
생활꿀팁 이미지
생활꿀팁생활
기운찬타킨197
기운찬타킨19721.04.10

파이썬 공부 하다가 모르겠는거 알려주실 수 있나요?

파이썬 공부중인데 아무리 봐도 모르겠어서요, 차근 차근 공부 하고 있지만 어렵네요ㅠㅠtemp = x의 위치에 따라 print(y)의 값이 달라지는데 그 이유를 알고 싶어요! 자세하게 설명 부탁드려요!!!

55글자 더 채워주세요.
답변의 개수4개의 답변이 있어요!
  • 파이썬은 컴파일러 언어가 아니기 때문에 쉽게 말해 동시 통역을 한다고 생각하면 쉽습니다.

    1. temp = x : Temp 의 정의, 정의된 내용이 없기 때문에 빈 값 들어감

    2. x = 10 : X 정의

    3. y = 20 : Y 정의

    4. x = y , y 값인 20이 x에 정의 됨

    5. y = temp , 결과적으로 X가 최종적으로 정의된 x=y (4번에 정의 된 20 값) 이 temp = x 에 들어감 결과적으로 y 도 20 이 됨

    두 번째 예제 같은 경우에는 사전에 모든 변수가 정의 되어 있기 때문에 따로 설명은 필요 없을 것 같네요


  • 소스 코드를 한줄씩 천천히 생각해보시면 이해가 쉬울 듯 싶습니다.

    올려주신 코드를 천천히 해석하며 보면 이렇게 될 것으로 보입니다.

    x = 10

    y = 20 // 변수 x,y에 10, 20이라는 값을 저장

    x, y = y, x // 각 변수의 값을 서로 교차하여 저장 (y값은 x로 x값은 y로)

    print(x) // x값 출력 출력값 20

    temp = x // 1. 위의 코드와 별개로 각각 독립된 파일로 나뉜 소스 코드라면 temp 변수에 x값 저장

    // 2. 위의 코드와 따로 분리된 것이 아닌 한 파일 내에 소스 코드가 이어져 있다면 위에서 쓰인 변수값 재이용

    // 사진을 보면 한 파일 내의 소스코드로 추정되므로 위의 변수값 재이용이 맞을 듯 싶습니다.

    x = 10

    y = 20 // 변수 x,y에 10, 20이라는 값을 저장

    x = y // 변수 x에 변수 y의 값을 저장

    y = temp // 위의 코드에서 이용된 temp에 저장된 값은 20, 즉 20을 y에 저장

    print(y) // y값 출력 출력값 20

    x = 10

    y = 20 // 변수 x,y에 10, 20이라는 값을 저장

    temp = x // 변수 x에 저장된 값인 10을 temp에 저장

    x = y // 변수 x에 변수 y에 저장된 값인 20을 저장

    y = temp // 변수 y에 변수 temp에 저장된 값인 10을 저장

    print(y) // y값 출력 출력값 10


  • 탈퇴한 사용자
    탈퇴한 사용자21.04.11

    안녕하세요

    temp = x의 위치에 따라 결과가 달라지는 이유는 temp에 x를 할당할 때 x의 현재 값이 다르기 때문입니다.

    x = 10 y = 20 x, y = y, x print(x) # 결과 : 20 temp = x # temp = 20 x = 10 y = 20 x = y y = temp # y는 temp의 값을 가지므로 20 print(y) # 결과 : 20 x = 10 y = 20 temp = x # temp = 10, temp는 x의 값을 가지므로 10 x = y y = temp # y는 temp의 값을 가지므로 10 print(y) # 결과 : 10


  • ln[11] 부분

    temp = x

    에서 x의 값이 정해지지 않았으니 temp은 변수로서 기능을 하지 못합니다.

    y = temp

    부분도 temp이 변수가 아니니 의미 없는 문장입니다.

    그래서 결국

    y = 20

    의 값이 그대로 20으로 출력 됩니다.

    ln[10] 부분

    x = 10temp = x

    temp는 10이란 변수가 생겼고,

    y = temp

    y는 temp의 변수를 받아서 10이란 변수가 됩니다.

    x=y

    이 부분은 ln[11], ln[10] 둘 다 결과 값에 영향을 주지 않습니다.

    쉽게 착각 할 수 있는 함정입니다. x의 값이 변했으니 위의

    temp = x

    부분이 영향이 받아서 값이 변할거라는 착각입니다.