반응형

Python3 not의 코드 스타일

작성 계기

필자는 C/C++/C#을 주로 접한다음에 Python 을 접했기 때문에 해당 언어들은 관례상 not 연산자 !을 주로 앞에 쓰는 경우가 있다. 이유는 !는 눈에 비교적 잘 보이기 때문에 가독성을 위해서 그렇게 쓰는 버릇이 있기 때문이다. 하자만, 파이썬에서의 경우는 not 이라는 키워드를 직접 입력하기 때문에 C/C++/C#의 스타일과 다소 차이가 있다. 다만, 워낙 친인간적인 언어다 보니까 영문법과 같이 사용하는 것을 권장한다.

not의 코딩 스타일

다음은 코딩 스타일 비교이다. 결과적으로는 둘다 같은 결과를 얻을 수 있다.

전통적인 스타일

예시)

>>>tmpNum = 1
>>>not type(tmpNum) is str
True
>>>not type(tmpNum) is int
False

구글 코딩 스타일

예시)

>>>tmpNum = 1
>>>type(tmpNum) is not str
True
>>>type(tmpNum) is not int
False

어떤 방식이 좋은가?

두 예시에서 보듯이 결과적으로는 같기 때문에 사실은 상관이 없다. 하지만, 구글 코딩 스타일을 더 권장을 하는데, 이유는 앞에 괄호 없이 not이 있다보면, 가독상 사람입장에서는 (not type(tmpNum)) is str 으로 읽은 가능성이 있고, 경우에 따라서 잘못 의미를 해석할 수 있기 때문이다. 그밖에 성능상에서도 큰 차이는 없다.

반응형

+ Recent posts