글
파이썬으로 프로그램을 만들다 보니 편리한 기능을 발견했다.
이걸 응용해서 좌표를 회전시키는 함수를 만들 수 있다.
참 쉽죠?
A = B
위와 같이 쓰면 B의 값이 A에 대입된다.
A, B = C, D
위와 같이 쓰면 C의 값이 A에 들어가고 D의 값이 B에 들어간다.
A, B = B, A
위와 같이 쓰면 A와 B의 값이 교환된다.이걸 응용해서 좌표를 회전시키는 함수를 만들 수 있다.
angle = 10.0
x, y = x*cos(angle)+y*sin(angle), -x*sin(angle)+y*cos(angle)
x, y = x*cos(angle)+y*sin(angle), -x*sin(angle)+y*cos(angle)
참 쉽죠?
댓글
좀더 예쁘게.
def rorate(x, y, angle):
____return x * cos(angle) + y * sin(angle), -x * sin(angle) + y * cos(angle)
x, y = rorate(x, y, 10)
밑줄은 들여쓰기 (공백) 입니다.
네
근데 프로그램 내용상 어차피 저기서 딱 한번만 등장하기때문에 함수화시키지는 않았습니다.
한번만 등장하더라도 가독성이나 유지보수 측편에서 독립적으로 구현 가능한 부분은 함수화하는게 유리하죠.
가독성 측면에서 저렇게 썼습니다. 걱정마세요. :)
한가지더 해당 기능은 언패킹 이기 때문에 리스트, 튜플에도 동일하게 적용할 수 있습니다.
a, b, c = [0, 1, 2]
리스트, 튜플을 리턴하는 함수값에도 동일하게 적용할 수 있습니다.
_, ext = os.path.splitext('a.txt') # 파일 명을 리턴하지만, 필요없엉~ 하는 것 표현할수 있습니다.
마지막 응용으로 리스트 슬라이싱에도 적용됩니다.
li = range(10)
a, b = li[1:3]
오오미...
아. 그렇군요.
좋네요 ㅎㅎ