표현식

어떤 값(들)과 연산자 등으로 이루어지는 계산식을 흔히 ‘표현식’이라고 한다. ‘표현식’이라는 말 자체는 주로 언어의 문법을 정의해놓은 문서에서 등장하는데, 주로 다음과 같은 식으로 일종의 유사 코드로 표현된다.

# Binding statement
Identifier := Expression

위 내용은 ‘바인딩 구문’의 형식을 설명한다. 좌변은 구분자이고 우변은 표현식이다. 구분자라는 것은 어떤 값을 프로그램 내에서 구분하기 위한 심벌로 흔히 프로그래머가 이름 붙이는 변수명이 여기에 해당한다. 우변은 표현식이다. 표현식은 단항 혹은 다항으로 구성되는 계산식 같은 것이라 했다.

a = 3
b = 4 + 5
c = 23 ** 2

이런 코드가 가장 간단한 파이썬의 바인딩 구문(대입문)이며 = 연산자의 우변이 되는 3, 4 + 5, 23 **2 등의 수식을 우리는 표현식이라 한다.  표현식의 가장 큰 특징은 하나의 값으로 평가된다는 점이다. 4 + 59 라는 값으로 평가되며, 23**2 는 529 라는 값으로 평가된다. 따라서 단순한 값 리터럴이나 연산자에 의한 계산식 외에도 함수호출과 같은 코드 역시 함수 호출은 그 리턴값으로 평가되므로 표현식의 일종이다.

기타

정규표현식도 ‘표현식’이라는 표현을 포함하고 있는데, 이는 정규표현식의 패턴 체계가 그 자체로 정규언어의 일종이며, 따라서 임의의 정규표현식 패턴은 정규표현식이라는 언어 내에서 표현식으로 평가된다. 이를 테면 \d 라는 패턴은 0~9 사이의 하나의 숫자로 평가된다는 말이다.

즉 표현식이나 평가식은 결국 같은 의미이며, 그 자체는 ‘아직 계산/평가되지 않은 어떤 하나의 값’이라고 할 수 있다.