CS - 헐 이게 왜 되지? : 치환
2022-03-10
파이썬에 대한 개인적 견해 - 몇가지 맘에 들지 않는 문법들
파이썬이 프로그래밍 초심자가 처음 배우기 좋은 언어일 뿐 아니라, AI나 데이터 처리 등 컴플렉스한 분야에서도 쓰이는 것을 알고 있다. 하지만 문법적으로 and 논리연산자를 그대로 "and"로 쓴다던가, 참을 나타내는 Boolean 값을 "True"로 쓴다던가 하는 점들이 C/C++ 뿐 아니라 Kotlin, Dart 등 내가 주로 애용하던 언어들과는 너무 달라 좋아하지 않는다. 근데 그 중에서도 가장 센건 블록을 여는 것을 콜론으로 하고, 닫는 것을 내어쓰는 것으로 하는게 정말 짜증난다. 다른 언어들은 블록을 중괄호로 구분하고, 들여쓰기를 어떻게 해도 코드를 Format 하면 자동정렬이 되는 반면에, 파이썬은 그렇지 않아 좋아하지 않았다.
헐 이게 왜 되냐..?
a,b 두 변수의 값을 치환하려고 한다. 이러한 상황에서 대부분의 프로그래머들은 예를 들어 a를 tmp라는 새로운 변수에 넣어놓고, b를 a에 대입한 다음, tmp를 b에 대입한다는 것이다. b를 tmp에 넣으면 반대로 하면 될 것이다. 하지만 파이썬은 이 모든 작업을 한 줄의 코드로 끝낸다.
a = 0
b = 1
print(a, b) // 0 1
a,b = b,a
print(a, b) // 1 0
2
3
4
5
파이썬은 어떻게 사용하면 좋을까
서두에 언급한 예시들처럼, 파이썬은 좀더 글쓰듯 프로그래밍하는 경향이 있다. 사실 이게 익숙해지면 편할 것 같기는 하다. 하지만 아직은 그렇지 않은 것 같고, 파이썬은 성능도 떨어질 뿐 아니라 활용 범위도 생각보다 꽤 좁기는 하다. 그래서 진짜 특별한 케이스 이외에는 별로 사용할 일이 없을 것 같다. 그래도 인공지능 등에는 여전히 최고의 선택지 중 하나이다. 라이브러리도 꽤 있고 구글이 밀어주기 때문.