표현식은 값을 만든다. 산술 연산과 문자열 연산도 객체의 특별 메서드 호출로 이어진다.

print(7 / 2)    # 3.5
print(7 // 2)   # 3
print(-7 // 2)  # -4
print(2 ** 10)  # 1024

문자열은 변경 불가능하다. `text[0] = "A"`는 실패한다. 여러 조각을 반복해서 붙일 때는 목록에 모아 `"".join(parts)`를 쓴다. f-string은 이름과 표현식을 문자열에 넣는 가장 읽기 좋은 방법이다.

name = "초"
score = 130
label = f"{name=}, {score:04d}"

`==`는 값이 같은지, `is`는 같은 객체인지 본다. `None` 비교에는 `value is None`을 쓴다. 문자열과 숫자에 `is`를 쓰면 인터닝 때문에 우연히 맞아 보일 수 있다.

Python 3. 숫자, 문자열, 표현식의 핵심 흐름도
그림. 숫자와 문자열 연산도 객체의 동작을 호출해 새 값을 만든다.