프로그램 로직 구성의 필수 요소 = 연산자
연산자 | 의미 | 예 |
---|---|---|
+ | 값을 더하기 | a = 3 + 2 # a는 5 |
- | 값을 빼기 | a = 3 - 2 # a는 1 |
* | 값을 곱하기 | a = 3 * 2 # a는 6 |
/ | 좌변의 값을 우변의 값으로 나누기 | a = 3 / 2 # a는 1.5 |
// | 좌변의 값을 우변의 값으로 나눈 몫 | a = 3 // 2 # a는 1 |
% | 좌변의 값을 우변의 값으로 나눈 나머지 | a = 3 % 2 # a는 1 |
** | 좌변의 값을 우변의 값으로 제곱 | a = 3 ** 2 # a는 9 |
1) 산술 연산자의 기본 동작
1 >>> a, b = 3, 2
2 >>> print("{0} + {1} = {2}".format(a, b, a + b))
3 3 + 2 = 5
4 >>> print("{0} - {1} = {2}".format(a, b, a - b))
5 3 - 2 = 1
6 >>> print("{0} * {1} = {2}".format(a, b, a * b))
7 3 * 2 = 6
8 >>> print("{0} / {1} = {2}".format(a, b, a / b))
9 3 / 2 = 1.5
10 >>> print("{0} // {1} = {2}".format(a, b, a // b))
11 3 // 2 = 1
12 >> print("{0} % {1} = {2}".format(a, b, a % b))
13 3 % 2 = 1
14 >>> print("{0} ** {1} = {2}".format(a, b, a ** b))
15 3 ** 2 = 9
2) 산술 연산자 우선 순위
1 >>> a, b, c = 2, 3, 5
2 >>> print((a + b) - c)
3 0
4 >>> print(b - c + a)
5 0
6 >>> print(a + (b * c)
7 17
8 >>> print(a * b / c)
9 1.2
3) 문자형과 숫자형 연산
1 >>> a, b, c = "2", "3", 4
2 >>> print(a + b)
3 23
4 >>> print(int(a) + int(b))
5 5
6 >>> print(b + c) # TypeError 발생 → 문자열 "3" 이 정수 4와 문자열 접합(+) 연산 시도를 했기 때문
7 >>> print(int(b) + c)
8 7 # 숫자형
9 >>> print(b + str(c))
10 34 # 문자형
연산자 | 의미 | 예 |
---|---|---|
= | 대입 (할당) | a = 3 |
+= | 좌변의 변수에 우변의 값을 더해서 좌변의 변수에 대입 | a += 2 # a는 5 |
-= | 좌변의 변수에 우변의 값을 빼서 좌변의 변수에 대입 | a -= 2 # a는 1 |
*= | 좌변의 변수에 우변의 값을 곱해서 좌변의 변수에 대입 | a *= 2 # a는 6 |
/= | 좌변의 변수를 우변의 값으로 나누어 좌변의 변수에 대입 | a /= 2 # a는 1.5 |
//= | 좌변의 변수를 우변의 값으로 나눈 몫을 좌변의 변수에 대입 | a //= 2 # a는 1 |
%= | 좌변의 변수를 우변의 값으로 나눈 나머지를 좌변의 변수에 대입 | a %= 2 # a는 1 |
**= | 좌변의 변수를 우변의 값으로 제곱해서 좌변의 변수에 대입 | a **= 2 # a는 9 |
연산자 | 의미 | 예 |
---|---|---|
== | 양변의 값이 같으면 True를 반환 | a,b = 3,2 a==b # False |
!= | 양변의 값이 다르면 True를 반환 | a!=b # True |
> | 좌변의 값이 우변의 값보다 크면 True를 반환 | a > b # True |
< | 좌변의 값이 우변의 값보다 작으면 True를 반환 | a < b # False |
>= | 좌변의 값이 우변의 값보다 크거나 같으면 True를 반환 | a >= b # True |
<= | 좌변의 값이 우변의 값보다 작거나 같으면 True를 반환 | a <= b # False |
연산자 | 의미 | 예 |
---|---|---|
and | 양변의 값 모두 True일 경우에만 True를 반환 | a,b = True, False a and b # False |
or | 양변의 값 모두 False일 경우에만 False를 반환 | a,b = True, False a or b # True |
not | True일 경우, False일 경우 True를 반환 | a = True not a # False |
1 >>> gender, age = "male", 20
2 >>> gender == "female" and age >=18
3 False
4 >>> gender == "female" or age >=18
5 True
6 >>> gender == "female" or age < 18
7 False
※ 관계 연산자가 논리 연산자에 우선하며,
논리 연산자 중 not 연산자가 and / or 연산자 보다 우선 순위이다.
연산자 | 의미 | 예 |
---|---|---|
& | 양변의 비트 값 모두 1일 경우에만 1을 반환 | x, y = 1, 0 x & y # 0 |
| | 양변의 값 모두 0일 경우에만 0을 반환 | x, y = 1, 0 x | y # 1 |
^ | 양변의 값이 다를 경우 1, 같을 경우 0을 반환 | x, y = 1, 0 x ^ y # 1 |
~ | 비트 값이 1일 경우 0, 0일 경우 1을 반환 | x = 1 ~x # -2 |
<< | 좌변의 값을 우변의 값만큼 비트를 왼쪽으로 이동 | x = 4 x << 1 # 8 → 정수값이 2배로 증가 |
>> | 좌변의 값을 우변의 값만큼 비트를 오른쪽으로 이동 | x = 8 x >> 1 # 4 → 정수값이 반으로 감소 |
해당 포스팅은 아래의 사이트를 참고하여 작성하였습니다.
SW Expert Academy https://swexpertacademy.com/