Python에서의 연산자는 의미 있는 프로그램 구성에 필수적이다. 수학 기호와 유사하게 Python 연산자는 특정 목적에 사용된다. 이 글에서는 Python의 다양한 연산자 종류를 살펴보며, 그 기능을 설명하고 샘플 코드로 더 명확하게 이해할 것이다.
산술 연산자는 기본 수학 연산에 사용된다. 이 연산자들은 두 피연산자 간의 덧셈, 뺄셈, 곱셈 및 나눗셈과 같은 기본 계산을 지원한다.
a = 5
b = 3
print(a + b) # 덧셈
print(a - b) # 뺄셈
print(a * b) # 곱셈
print(a / b) # 나눗셈
8
2
15
1.6666666666666667
연산자 | 연산 | 예시 | 결과 | 설명 |
---|---|---|---|---|
+ | 덧셈 | 5 + 8 | 13 | 연산자 양측의 값을 더함 |
- | 뺄셈 | 8 - 5 | 3 | 왼쪽 피연산자에서 오른쪽 피연산자를 뺌 |
* | 곱셈 | 5 * 8 | 40 | 연산자 양측의 값을 곱함 |
/ | 나눗셈 | 8 / 2 | 4 | 왼쪽 피연산자를 오른쪽으로 나눔 |
% | 나머지 | 8 % 5 | 3 | 나눗셈의 나머지를 반환 |
// | 버림 나눗셈 | 8 // 5 | 1 | 숫자선에서 왼쪽으로 조정된 전체 숫자로 나눔 |
** | 거듭제곱 | 2 ** 3 | 8 | 연산자에 대해 거듭제곱(지수) 계산을 수행 |
관계 연산자는 두 피연산자의 값을 비교하는 데 사용된다. 이 연산자들을 통해 두 값이 같은지, 하나의 값이 다른 것보다 큰지 또는 작은지를 결정하기 위해 평가가 이루어집니다. 비교의 결과에 따라 Boolean 값이 반환된다.
print(a > b) # 크다
print(a < b) # 작다
print(a == b) # 같다
True
False
False
연산자 | 연산 | 예시 | 결과 | 설명 |
---|---|---|---|---|
== | 같음 | 5 == 8 | False | 두 피연산자의 값이 같으면 True |
!= | 같지 않음 | 5 != 8 | True | 두 피연산자의 값이 같지 않으면 True |
> | 큼 | 8 > 5 | True | 왼쪽 피연산자가 오른쪽보다 크면 True |
< | 작음 | 5 < 8 | True | 왼쪽 피연산자가 오른쪽보다 작으면 True |
>= | 크거나 같음 | 8 >= 5 | True | 왼쪽 피연산자가 오른쪽보다 크거나 같으면 True |
<= | 작거나 같음 | 5 <= 8 | True | 왼쪽 피연산자가 오른쪽보다 작거나 같으면 True |
논리 연산자는 여러 조건의 참 또는 거짓을 평가한다. 이 연산자들은 and
, or
및 not
연산자를 포함한다.
x = True
y = False
print(x and y) # 그리고
print(x or y) # 또는
print(not x) # 아니다
False
True
False
연산자 | 연산 | 예시 | 결과 | 설명 |
---|---|---|---|---|
and | 둘 다 참이면 참 | True and False | False | 두 조건 모두 참이어야 True |
or | 둘 중 하나라도 참이면 참 | True or False | True | 두 조건 중 하나 이상이 참이어야 True |
not | 반대 | not True | False | 참의 반대는 거짓, 거짓의 반대는 참 |
비트 연산자는 비트 연산을 수행하기 위해 사용된다. 이 연산자들은 정수를 비트 수준에서 연산한다.
a = 5 # 101 in binary
b = 3 # 011 in binary
print(a & b) # 비트 AND
print(a | b) # 비트 OR
1
7
연산자 | 연산 | 예시 | 결과 | 설명 |
---|---|---|---|---|
& | 비트 AND | 5 & 3 | 1 | 둘 다 1인 비트만 1로 설정 |
` | ` | 비트 OR | `5 | 3` |
^ | 비트 XOR | 5 ^ 3 | 6 | 비트가 다르면 1로 설정 |
~ | 비트 NOT | ~5 | -6 | 비트를 뒤집음 |
<< | 왼쪽 시프트 | 5 << 1 | 10 | 주어진 수의 비트를 왼쪽으로 이동 |
>> | 오른쪽 시프트 | 5 >> 1 | 2 | 주어진 수의 비트를 오른쪽으로 이동 |
변수에 값을 할당하기 위해 할당 연산자가 사용된다. 기본 할당을 넘어, 이 연산자들은 연산과 할당을 결합하는 기능도 제공한다. 예를 들어, 특정 숫자를 값에 더한 다음 그 결과를 변수에 할당할 수 있다.
a += 2 # a의 값을 2만큼 증가
b -= 1 # b의 값을 1만큼 감소
a = 7
b = 2
연산자 | 연산 | 예시 | 결과 | 설명 |
---|---|---|---|---|
= | 할당 | x = 7 | 7 | 오른쪽 피연산자의 값을 왼쪽 피연산자에 할당 |
+= | 더하고 할당 | x += 3 | x + 3 | 오른쪽 피연산자를 왼쪽 피연산자에 더하고 그 결과를 왼쪽 피연산자에 할당 |
-= | 빼고 할당 | x -= 3 | x - 3 | 왼쪽 피연산자에서 오른쪽 피연산자를 빼고 그 결과를 왼쪽 피연산자에 할당 |
*= | 곱하고 할당 | x *= 3 | x * 3 | 왼쪽 피연산자를 오른쪽 피연산자로 곱하고 그 결과를 왼쪽 피연산자에 할당 |
/= | 나누고 할당 | x /= 3 | x / 3 | 왼쪽 피연산자를 오른쪽 피연산자로 나누고 그 결과를 왼쪽 피연산자에 할당 |
%= | 나머지 연산 후 할당 | x %= 3 | x % 3 | 왼쪽 피연산자를 오른쪽 피연산자로 나눈 나머지를 왼쪽 피연산자에 할당 |
//= | 정수 나누기 후 할당 | x //= 3 | x // 3 | 왼쪽 피연산자를 오른쪽 피연산자로 나누고 그 정수 결과를 왼쪽 피연산자에 할당 |
**= | 지수 연산 후 할당 | x **= 3 | x ** 3 | 왼쪽 피연산자를 오른쪽 피연산자의 승수로 연산하고 그 결과를 왼쪽 피연산자에 할당 |
멤버십 연산자는 값의 존재를 시퀀스 내에서 테스트하기 위해 사용된다. 주로 주어진 시퀀스 내에 특정 요소가 존재하는지 확인하기 위해 사용된다.
list = [1, 2, 3, 4, 5]
print(3 in list) # 리스트 내 3이 존재하는지 확인
print(6 not in list) # 리스트 내 6이 존재하지 않는지 확인
참
참
연산자 | 연산 | 예시 | 결과 | 설명 |
---|---|---|---|---|
in | 지정된 시퀀스 내 변수를 찾으면 참을 반환하고 그렇지 않으면 거짓을 반환 | 5 in [1, 2, 3, 4, 5] | 참 | 값/변수가 시퀀스 내에 있으면 참 |
not in | 지정된 시퀀스 내 변수를 찾지 못하면 참을 반환하고 그렇지 않으면 거짓을 반환 | 6 not in [1, 2, 3, 4, 5] | 참 | 값/변수가 시퀀스 내에 없으면 참 |
식별 연산자는 두 객체의 메모리 위치를 비교하기 위해 사용된다. 주된 용도는 두 변수가 메모리 내에서 동일한 객체를 참조하는지 여부를 결정하는 것이다.
x = [1, 2, 3]
y = x
print(y is x) # y와 x가 동일한 객체를 참조하기 때문에 참
print(y is not x) # 같은 이유로 거짓
참
거짓
연산자 | 연산 | 예시 | 결과 | 설명 |
---|---|---|---|---|
is | 연산자 양쪽의 변수가 동일한 객체를 가리키면 참을 반환하고 그렇지 않으면 거짓을 반환 | x is y | x와 y의 값에 따라 달라짐 | 두 변수가 동일한 객체인 경우 참 |
is not | 연산자 양쪽의 변수가 동일한 객체를 가리키지 않으면 참을 반환하고 그렇지 않으면 거짓을 반환 | x is not y | x와 y의 값에 따라 달라짐 | 두 변수가 동일한 객체가 아닌 경우 참 |
파이썬 연산자를 이해하는 것은 효율적인 프로그래밍에 있어 중요하다. 변수를 비교하든, 값을 조정하든, 또는 계산을 수행하든, 파이썬의 다재다능한 연산자는 이러한 작업의 핵심이다.
==
와 =
의 차이는 무엇인가요?==
는 두 피연산자의 값을 비교하여 동일성을 판단하고 boolean(참
또는 거짓
)을 반환한다. 예를 들어, 7 == 7
은 참
을 결과로 한다. 반면에, =
는 오른쪽 피연산자의 값을 왼쪽 변수에 할당하는 데 사용된다./
와 연산 //
의 차이는 무엇인가?/
연산자는 나누고 부동 소수점 결과를 반환한다. 예를 들면, 5 / 2
는 2.5
를 반환한다. 반면에, //
는 나누고 가장 가까운 정수로 내림하여 반환하므로, 5 // 2
는 2
를 반환한다.&
나 |
와 같은 비트 연산자를 언제 사용해야 하나요?==
대신 is
연산자를 사용하는 이유는 무엇인가?is
연산자는 두 변수가 메모리 내에서 정확히 같은 객체를 참조하는지 확인한다, 단순히 그들의 값이 동일한지 여부가 아니다. 예를 들어, 동일한 값을 가진 두 개의 목록은 ==
에 대해서는 참
일 수 있지만, 메모리 내의 다른 객체인 경우 is
에 대해서는 거짓
일 수 있다.in
및 not in
은 어떻게 작동합니까?in
은 부분 문자열이 있는지 확인한다. 리스트나 튜플에서는 항목이 존재하는지 확인한다. 예를 들면, 'apple' in 'pineapple'
은 참
이고, 3 in [1, 2, 3]
도 참
이다.[Python] 비트 연산자 다양한 예제를 통해 이해하기 |
---|
[Python] 관계 연산자 다양한 예제를 통해 이해하기 |
[Python] 'zsh: command not found: python' 오류 해결하기 |
[Python] 할당 연산자 다양한 예제를 통해 이해하기 |
[Python] 산술 연산자 다양한 예제를 통해 이해하기 |
CloneCoding
한 줄의 코드에서 시작되는 혁신!