입력값이 비어 있을 때의 조건 판단과 접근 방식은 3-3-1-1 코드와 3-3-1-2 코드에서 차이가 있을 뿐, 결국 접근이 허용되거나 허용되지 않는 조건은 동일하다. 차이의 핵심은 표현 방식이며, if문은 조건에 따라 코드의 실행 여부를 결정하고 여러 줄의 동작을 묶어 처리할 수 있다. 자체적으로 값을 만들지 않으며, 안전한 접근은 전체가 하나의 값으로 평가되어 변수에 저장되거나 다른 식의 일부로 사용할 수 있다. 한 줄로 조건부 접근 표현이 가능하다.
and의 안전한 접근은 값 얻기를 목표로 하는 표현으로, 조건이 만족될 때만 오른쪽 값을 반환하고, 그렇지 않으면 왼쪽 값을 그대로 반환한다. 조건 하나로 실행할 동작이 여러 개일 때는 if문이 가장 자연스럽고, 실행 여부가 핵심인 구조다. 반면 값 하나를 얻거나 변수를 만들거나 식 안에서 처리하려는 경우에는 and를 떠올려야 한다. 한 줄로 간결하게 표현하고자 할 때도 and의 역할이 적합하다.
다음으로 단축 평가와 부작용은 주의가 필요하다. 단축 평가는 조건이 맞으면 뒤의 코드를 평가하지 않고 건너뛰는 동작이며, 실행 경로에서 제외된 코드는 프로그램 관점에서 처음부터 존재하지 않았던 것과 같아 실행되지 않는다. 부작용은 값 반환과 무관하게 코드 실행으로 상태나 외부 환경에 변화를 일으키는 동작이다. 따라서 실행 자체가 목적이거나 실행 여부가 중요한 경우와 달리, 값 계산만을 목적으로 하는 상황에서만 단축 평가를 사용해야 한다.
초보자가 반드시 기억할 규칙은 두 가지다. 실행이 목적이면 단축 평가를 쓰지 말고 무조건 if문을 사용한다. 실행되지 않으면 프로그램의 상태가 달라지지 않는다는 점을 명확히 이해해야 한다. 단축 평가가 허용되는 유일한 경우는 값이 존재하고 실제로 사용할 값이 필요할 때뿐이며, 조건식의 판단은 값의 최종 선택에 필요한 수단일 뿐이다. 논리 연산자는 True/False를 반환하는 것이 아니라 조건에 따라 기존 값 중 하나를 선택해 반환한다는 점이 핵심이다. 또한 논리 연산자는 어디서든 사용할 수 있는 값을 만들어내는 식이지, 오직 if문 전용 문법이 아니다.
코드를 간결하고 읽기 쉽게 만들기 위해서는 여러 조건을 한눈에 이해하도록 구성하는 것이 바람직하다. 조건이 복잡하게 얽히면 의도가 흐려지고 추적이 어려워지므로, 필요 시 각 조건의 역할과 값의 흐름을 명확히 분리해 표현하는 것이 좋다. 조건식 자체를 통해 상황을 직관적으로 파악할 수 있을 때 코드는 더 명확해진다.
#
개발자공부
#
파이썬초보
#
파이썬연산자
#
파이썬문법
#
파이썬독학
#
파이썬단축평가
#
파이썬논리연산자
#
파이썬기초
#
파이썬공부
#
파이썬TruthyFalsy
#
파이썬TrueFalse
#
파이썬bool
#
파이썬andor
#
파이썬
#
코딩기초
#
프로그래밍기초