▼ 표 2-1 문자열 연산자
연산자 문법 |
설명 |
name = 문자열 |
문자열을 name에 대입한다. |
문자열1 == 문자열2 |
문자열1과 문자열2가 같은 값을 가지고 있다면 True를 반환한다(다른 비교 연산자들과 같이 대·소문자를 구분한다). |
문자열1 != 문자열2 |
문자열1과 문자열2가 서로 다른 값을 가지고 있다면 True를 반환한다. |
문자열1 < 문자열2 |
문자열1이 문자열2보다 알파벳 순서가 앞이면 True를 반환한다. 가령 'abc' < 'def'는 True를 반환하지만 'abc' < 'aaa'는 False를 반환한다(우선순위에 대해 언급한 표 아래 노트를 참고하자). |
문자열1 > 문자열2 |
문자열1이 문자열2보다 알파벳 순서가 뒤면 True를 반환한다. 가령 'def' > 'abc'는 True를 반환하지만 'def' > 'xyz'는 False를 반환한다. |
문자열1 <= 문자열2 |
문자열1이 문자열2보다 알파벳 순서가 앞이거나 같다면 True를 반환한다. |
문자열1 >= 문자열2 |
문자열1이 문자열2보다 알파벳 순서가 뒤거나 같다면 True를 반환한다. |
문자열1 + 문자열2 |
두 문자열을 연결한다. 문자열1 끝에 문자열2를 붙인다. 가령 'Big' + 'Deal'은 연결된 문자열인 'BigDeal'이 된다. |
문자열1 * n |
문자열1을 정수 n만큼 반복하여 연결한다. 가령 'Goo' * 3은 'GooGooGoo'가 된다. |
n * 문자열1 |
문자열1 * n과 동일하다. |
문자열1 in 문자열2 |
문자열1 전체가 문자열2에 포함되면 True를 반환한다. |
문자열1 not in 문자열2 |
문자열1 전체가 문자열2에 포함되지 않으면 True를 반환한다. |
문자열 is 객체 |
문자열과 객체가 메모리상에 동일 객체를 참조하고 있으면 True를 반환한다. 간혹 None이나 알지 못하는 객체 타입과 비교할 때 사용한다. |
문자열 is not 객체 |
문자열과 객체가 메모리상에 동일 객체를 참조하고 있지 않으면 True를 반환한다. |
Note ≡
문자열을 비교할 때 파이썬은 알파벳 순서를 사용한다. 더 구체적으로 말하자면 문자 값의 아스키코드나 유니코드의 코드 순서를 따른다. 이렇게 하면 모든 대문자는 소문자보다 앞에 위치하며, 이 규칙 이외에는 문자들을 단순히 알파벳 순서로 비교할 수 있다. 숫자 비교 역시 숫자 크기에 따라 기대한 대로 동작한다. 예를 들어 1은 2보다 작다.