파이썬python 패킹packing과 언패킹unpacking!
요번에는 파이썬의 패킹과 언패킹에 대해 알아보도록 하겠습니다.
전의 파이썬 함수에 대해 알아보려고 한다면 아래 게시글로!
2017/05/17 - 파이썬python 함수란 무엇인가 ~ 반복 코드 짜기
패킹이라고 하는건
x = 1, 2라고 파이썬에 적었을때
파이썬은 튜플에 (1, 2)로 담는 것을 패킹
이라고 합니다.
말 그대로 1과 2라는 요소를 한데 묶어주는 효과를 얻을 수 있는 것이죠!
그렇다면 언패킹이란 뭘까요?!
y, z = x 라 적으면
y는 1, z는 2의 값을 갖게 되는데 이것이 언패킹
그렇습니다.
아까 x가 (1, 2)의 값을 가지게 만들게 패킹을 했었지요?
그걸 우변에다가 y와 z의 값을 다시 주게되면
y = 1, z = 2가 되면서 x가 언패킹 되어버리는 것이죠~!
그리고 더 나아가서 보통은 임시 변수 temp로
두 곳의 변수의 값을 바꾸기 위해
이것을 매개체로 두 변수의 값을 바꿉니다만, 파이썬에서는 그럴 필요가 없습니다.
y, x = x, y
라는 단순명료한 명령문만으로도 두 변수의 값을 뒤바꿀 수 있습니다~
아 물론 자바나 C언어에서는 오류가 나니 주의합시다~!
우변이 튜플로 묶여 (1,2)가 되고
좌변의 y, x는 언 패킹이 되어 y = 1, x = 2의 값이 되는 것이지요 ~
그렇다면 여기서 응용을 해 볼까요?!
def circle_area_circumference(radius, pi):
area = pi* (radius**2)
circumference = 2 * pi * radius
return area, circumference
if __name__=="__main__":
result = circle_area_circumference(3, 3.14)
print("반지름: ", 3, "면적과 둘레: ", result)
res1, res2 = circle_area_circumference(3, 3.14)
print("반지름:", 3, "면적 : ", res1, "둘레: ", res2)
-
'IT 이것저것 > 파이썬python' 카테고리의 다른 글
파이썬python 성적 처리 프로그램을 짜자! - 학생 데이터 입력2 (0) | 2017.06.04 |
---|---|
파이썬python 성적 처리 프로그램을 짜자! ~ 학생 데이터 입력 (0) | 2017.06.01 |
파이썬python 함수란 무엇인가 ~ 반복 코드 짜기 (0) | 2017.05.17 |
파이썬python 함수란 무엇인가? (0) | 2017.05.14 |
파이썬python 요일 계산 프로그램을 짜 보았다. - 완성편 (0) | 2017.05.02 |
댓글