python
이 튜토리얼에서는 파이썬의 모든 연산자 범주(문법, 동작, 실전 예제)를 마스터해 더 깔끔하고 효율적인 코드를 작성하세요.
연산자는 산술 또는 논리 연산을 수행하는 특수 기호입니다. 연산자가 작용하는 값을 피연산자(operand)라고 합니다.
예:
>>> 2+3
5
여기서 +는 덧셈을 수행하는 연산자, 2와 3은 피연산자, 5는 결과입니다.
산술 연산자는 덧셈, 뺄셈, 곱셈 등 수학 연산을 수행합니다.
| 연산자 | 의미 | 예제 |
|---|---|---|
| + | 두 피연산자 더하기 또는 단항 플러스 | x + y + 2 |
| - | 오른쪽 피연산자를 왼쪽에서 빼기 또는 단항 마이너스 | x - y - 2 |
| * | 두 피연산자 곱하기 | x * y |
| / | 왼쪽 피연산자를 오른쪽으로 나누기(항상 float 반환) | x / y |
| % | 나머지(모듈러스) | x % y (x/y의 나머지) |
| // | 버림 나눗셈(내림) | x // y |
| ** | 거듭제곱(왼쪽을 오른쪽 제곱) | x ** y (x의 y제곱) |
x = 15
y = 4
print('x + y =', x + y)
print('x - y =', x - y)
print('x * y =', x * y)
print('x / y =', x / y)
print('x // y =', x // y)
print('x ** y =', x ** y)
출력
x + y = 19 x - y = 11 x * y = 60 x / y = 3.75 x // y = 3 x ** y = 50625
비교 연산자는 값 간의 관계를 평가해 True 또는 False를 반환합니다.
| 연산자 | 의미 | 예제 |
|---|---|---|
| > | 초과 | x > y |
| < | 미만 | x < y |
| == | 같음 | x == y |
| != | 다름 | x != y |
| >= | 이상 | x >= y |
| <= | 이하 | x <= y |
x = 10
y = 12
print('x > y is', x > y)
print('x < y is', x < y)
print('x == y is', x == y)
print('x != y is', x != y)
print('x >= y is', x >= y)
print('x <= y is', x <= y)
출력
x > y is False x < y is True x == y is False x != y is True x >= y is False x <= y is True
논리 연산자(and, or, not)는 불리언 표현식을 결합합니다.
| 연산자 | 의미 | 예제 |
|---|---|---|
| and | 두 피연산자 모두 참이면 참 | x and y |
| or | 최소 하나 참이면 참 | x or y |
| not | 피연산자 부정 | not x |
x = True
y = False
print('x and y is', x and y)
print('x or y is', x or y)
print('not x is', not x)
출력
x and y is False x or y is True not x is False
아래는 이 연산자들을 설명하는 진리표입니다.
비트 연산자는 정수 피연산자의 개별 비트를 조작합니다.
예: 2는 이진 10, 7은 111.
x = 10(00001010 이진), y = 4(00000100 이진)일 때.
| 연산자 | 의미 | 예제 |
|---|---|---|
| & | 비트 AND | x & y = 0 (00000000) |
| | | 비트 OR | x | y = 14 (00001110) |
| ~ | 비트 NOT | ~x = -11 (11110101) |
| ^ | 비트 XOR | x ^ y = 14 (00001110) |
| >> | 오른쪽 시프트 | x >> 2 = 2 (00000010) |
| << | 왼쪽 시프트 | x << 2 = 40 (00101000) |
대입 연산자는 변수에 값을 할당하며, 연산과 대입을 결합한 복합 형태도 포함합니다.
| 연산자 | 예제 | 동등한 표현 |
|---|---|---|
| = | x = 5 | x = 5 |
| += | x += 5 | x = x + 5 |
| -= | x -= 5 | x = x - 5 |
| *= | x *= 5 | x = x * 5 |
| /= | x /= 5 | x = x / 5 |
| %= | x %= 5 | x = x % 5 |
| //= | x //= 5 | x = x // 5 |
| **= | x **= 5 | x = x ** 5 |
| &= | x &= 5 | x = x & 5 |
| |= | x |= 5 | x = x | 5 |
| ^= | x ^= 5 | x = x ^ 5 |
| >>= | x >>= 5 | x = x >> 5 |
| <<= | x <<= 5 | x = x << 5 |
파이썬에는 고급 비교를 위한 항등(identity) 연산자와 멤버십(membership) 연산자도 포함됩니다.
is와 is not은 두 참조가 같은 객체를 가리키는지 확인합니다.
| 연산자 | 의미 | 예제 |
|---|---|---|
| is | 피연산자가 같은 객체 참조면 참 | x is True |
| is not | 피연산자가 다른 객체 참조면 참 | x is not True |
x1 = 5
y1 = 5
x2 = 'Hello'
y2 = 'Hello'
x3 = [1,2,3]
y3 = [1,2,3]
print(x1 is not y1)
print(x2 is y2)
print(x3 is y3)
출력
False True False
정수와 짧은 문자열은 인터닝되어 동일한 리터럴이 같은 객체를 공유하는 경우가 많습니다. 리스트는 내용이 같아도 별도 객체입니다.
in과 not in은 시퀀스, 세트, 딕셔너리 키 집합 내 값 존재 여부를 테스트합니다.
| 연산자 | 의미 | 예제 |
|---|---|---|
| in | 값이 시퀀스에 있으면 참 | 5 in x |
| not in | 값이 시퀀스에 없으면 참 | 5 not in x |
x = 'Hello world'
y = {1:'a',2:'b'}
print('H' in x)
print('hello' not in x)
print(1 in y)
print('a' in y)
출력
True True True False
문자열 비교는 대소문자 구분하며, 딕셔너리 검사는 키만 고려함을 유의하세요.
python
Python strptime(): 문자열을 datetime 객체로 변환 이 가이드에서는 Python의 datetime.strptime() 메서드를 사용하여 문자열로부터 datetime 객체를 생성하는 방법을 실용적인 예제와 포괄적인 형식 코드 참조와 함께 보여줍니다. 동영상: Python에서 날짜와 시간 다루기 공식 Python 튜토리얼을 시청하여 datetime 처리에 대한 이해를 높이세요. strptime() 메서드는 지정된 형식을 따르는 문자열로부터 datetime 객체를 생성합니다. 참고: 모든 문자열을 파싱할 수 있는 것은
파이썬 2는 2020년 1월 1일부로 공식 지원이 종료되었습니다. 여전히 파이썬 2.7을 사용 중이라면 즉시 업그레이드해야 합니다. 현재 실행 중인 버전이 확실하지 않다면 python --version으로 확인하세요. 왜 지금 당장 옮겨야 하는가? 보안 패치 중단: 취약점 발견 시 어떤 수정도 제공되지 않음 패키지 생태계 단절: 주요 라이브러리(NumPy, pandas, Django, Requests 등)가 파이썬 2 지원 중단 신규 기능 불가: 타입 힌트, f-string, async/await, 데이터클래스 등 현