정적 타입 언어만 다뤄오다가 Python 공부를 시작하면서 코드는 짧아지지만 추상적인 표현들에 대해 거부감이 있었다. 그러다가 감탄과 함께 이런게 파이썬의 맛인가? 느낀 부분이 바로 이중 for loop를 다루는 방법이었다. 코드를 짧게 쓰는게 무조건 좋지는 않은데, 가독성이 떨어지기 때문이다. 짧아지는 과정에서 읽는 사람의 해석이 필요한 추상화 과정이 들어가고 쉽게 읽히지 않는 짧은 코드는 하나하나 풀어쓴 읽기 쉬운…
[태그:] 파이썬
Kotlin vs Python : ‘as’ keyword
Kotlin과 Python이 같이 갖고 있는 키워드중, ‘as’가 있는데 이것 또한 다르게 쓰인다. Kotlin Kotlin에서 ‘as’는 명시적 캐스팅(형변환) 연산자이다. 공식 문서 참조. 문서에 따르면, 이경우 형변환에 실패했을 때, exception이 발생한다. 그래서 Unsafe cast operator라고 한다. 반면에, ‘as?’를 사용하면 형변환 실패시 null을 반환한다. 그래서 Safe cast operator라고 부른다. Python Python에서 as 는 alias를 의미한다. module import와 리소스…
Kotlin vs Python : ‘not’ keyword
코틀린하고 파이썬을 같이 공부하면서 차이점을 비교하는건 흥미롭다. 근데, 이게 시간이 지날수록 더욱 헷갈리기 시작한다. 그래서 짧지만 생각날 때마다 기록해 두려고. 이번 주제는 ‘not’. Kotlin 일반적인 비교연산자에 ‘같지 않다’는 둘 다 동일하게 ‘!=’을 쓴다. Kotlin에서는 이와 동일하게, ‘not’의 의미로 ‘!'(exclamation mark)를 쓴다. 위의 예제와 같은식이다. ‘not’은 Kotlin 키워드에 존재하지 않는다. operator를 overloading 할 때만 다음과 같이…
Python Unit test #01
요즘 너무 오랫만에 코딩을 하다보니, unit test도 다 까먹고 kotlin에서는 어떻게 해야할지 막막했다. unit test를 다루는데에는 아무래도 python이 편하고 쉬운거 같아서 일단 python에서의 unit test를 보는중. 아직 볼게 많은데, 한번에 다 기록하려면 많으니까 일단 기본적인거만 기록해본다. 주로 참고한 곳은 유튭에서 아래에 보이는 Python Tutorial: Unit Testing Your Code with the unittest Module 요 영상이다. 유튭에…
Python Context Manager
파일 입출력때 스마트 포인터같이 작동하겠거니 추측하며 Context Manager인 with-as 구문을 사용해 왔다. 그런데 이게 네트워크 커넥션에도 사용되는걸 보고 정확한 동작을 알고 싶어서 그 배후의 동작을 real python을 통해 공부했다. 동작 자체는 예상한 것과 크게 다르지 않지만, 정확히 어떤건지 적어본다. 일단 사용방법은 파일 입출력의 예를 들면 Context Manager를 안쓸 때 다음과 같이 익숙한 코드형태지만, Context Manger를…