학습 내용
분류 | 연산자 |
대입연산자 | = |
산술연산자 | +, -, *, /, //, %, ** |
복합 대입 연산자 | +=, -=, *=, /=, //=, %= |
관계 연산자 | >, <, ==, !=, <=, >= |
논리 연산자 | and, or, not |
파이선 연산 순서
괄호 ”()” → 거듭 제곱 ”(**)” → *, /, % → +
왼쪽에서 오른쪽으로 연산 한다.
수식 연산
자료형의 변수를 연산하는 '연산자'에 대해 알아봅시다. 수식 연산자는 두 개의 피연산자를 요구하는 이항 연산자(binary operator)입니다.
종류 | 기능 | 사용 가능한 자료형 |
+ | 두 값을 더합니다. | 정수, 실수, 문자 |
- | 왼쪽 값에서 오른쪽 값을 뺍니다. | 정수, 실수 |
* | 두 값을 곱합니다. | 정수, 실수 |
/ | 왼쪽 값을 오른쪽 값으로 나눕니다. | 정수, 실수 |
% | 왼쪽 값을 오른쪽 값으로 나눈 나머지를 반환합니다. | 정수, 실수 |
연산자는 두 개를 겹쳐 사용했을 때 다른 의미를 가지기도 합니다.
종류 | 기능 | 사용 가능한 자료형 |
** | 왼쪽 값을 오른쪽 값만큼 제곱합니다. | 정수, 실수 |
// | 왼쪽 값을 오른쪽 값으로 나눈 몫을 반환합니다. | 정수, 실수 |
num1 = 17.5
num2 = 10
str1 = "Hello"
str2 = "DGSW"
print(num1 + num2)
print(str1 + str2)
print(num1 - num2)
print(num1 * num2)
print(num2 ** num1)
print(num1 / num2)
print(num1 // num2)
print(num1 % num2)
Python
복사
파이썬에서 문자열+숫자는 불가능하지만, 8번째 줄에서 실수 num1과 정수 num2를 더한 것처럼 연산 대상인 변수가 모두 숫자라면 int형이든 float형이든 자유롭게 연산할 수 있습니다.
할당 연산자
변수에 값을 대입 및 할당할 때 '=' 연산자를 사용했습니다. 이 연산자는 그 사용에 걸맞게 할당연산자라고 불립니다. 할당연산자 '='는 수식연산자와 함께 사용할 수 있는데 이를 복합대입연산자라고 합니다.
종류 | 기능 | 설명 |
+= | 값을 더한 후 대입합니다. | 문자열도 사용 가능합니다. |
-= | 값을 뺀 후 대입합니다. | |
*= | 값을 곱한 후 대입합니다. | |
/= | 값을 나눈 후 대입합니다. | |
%= | 값을 나눈 후 나머지를 대입합니다. |
우리는 a 변수에 1을 더하기 위해서 이러한 방식을 사용 하였습니다.
a = 1
a = a + 1
Python
복사
하지만 이 코드는 깨끗하지가 않더라고요, 더욱 깔끔한 코드를 만들기 위해 할당 연산자를 사용 해볼겁니다.
a = 1
a += 1
Python
복사
이러한 형식으로 할당 연산자를 활용 할 수 있습니다!
그러면 a변수에 1를 빼볼까요?
a = 1
a -= 1
Python
복사
이러한 형식으로 위에 설명한 다양한 할당 연산자를 활용 할 수 있습니다!
논리 연산자
논리연산자는 두 bool형 변수의 논리 연산을 위해 사용하며, 수학 시간에 배운 합집합, 교집합, 차집합과 동일합니다. 아래 표로 좀 더 자세히 알아볼까요?
종류 | 기능 | 설명 |
and | 두 값이 모두 참(True)일 때만 참(True)를 반환합니다. | True and True = True
True and False = False |
or | 두 값 중 하나라도 참(True)이면 참(True)를 반환합니다. | True or True = True
True or False = True |
not | 거짓(False)이면 참(True)를, 참(True)이면 거짓(False)를 반환합니다. |
a = True
b = False
print("참 and 거짓 :", a and b)
print("참 and 참 :", a and a)
print("참 or 거짓 :", a or b)
print("거짓 or 거짓 :", b or b)
print("not 참 :", not a)
출력결과:
참 and 거짓 : False
참 and 참 : True
참 or 거짓 : True
거짓 or 거짓 : False
not 참 : False
Python
복사
and 연산자는 두 값이 모두 참이라야 참이므로 첫 번째 값이 거짓이면 두 번째 값은 확인하지 않고 바로 거짓으로 결정합니다.
or 연산자는 두 값 중 하나만 참이라도 참이므로 첫 번째 값이 참이면 두 번째 값은 확인하지 않고 바로 참으로 결정합니다.
관계(비교) 연산자
관계연 산자는 두 값의 대소 혹은 동등의 관계를 따지는 연산자입니다.
종류 | 기능 |
== | 두 값이 같은지 비교합니다. |
!= | 두 값이 다른지 비교합니다. |
<, <= | 오른쪽 값이 왼쪽 값보다 더 큰지 비교합니다. '='가 추가되면 오른쪽 값이 왼쪽 값과 비교하여 더 크거나 같은지 비교합니다. |
>, >= | 왼쪽 값이 오른쪽 값보다 더 큰지 비교합니다. '='가 추가되면 왼쪽 값이 오른쪽 값과 비교하여 더 크거나 같은지 비교합니다. |
print("100 == 100 :", 100 == 100)
print("100 == 200 :", 100 == 200)
print("100 != 100 :", 100 != 100)
print("100 != 200 :", 100 != 200)
print("0 < 9 :", 0 < 9)
print("0 > 9 :", 0 > 9)
print("0 >= 9 :", 0 >= 9)
print("0 <= 0 :", 0 <= 0)
출력 결과:
100 == 100 : True
100 == 200 : False
100 != 100 : False
100 != 200 : True
0 < 9 : True
0 > 9 : False
0 >= 9 : False
0 <= 0 : True
Python
복사
출력 결과가 어떤 숫자 값이 아니라 True, False로 나오는 것을 확인할 수 있습니다. 관계연산자는 반복문, 조건문에서 조건식으로 매우 자주 사용합니다.
어려웠던점
내 점수가 2등급인지 계산을 하는 코드
내 점수가 2등급인지 계산을 하는 코드를 짜보고 싶었다, 처음에는 어떤식으로 해야될지 몰라서 걱정 이였지만
논리 연산자와 관계 연산자를 활용 하여 해결 해볼려고 아래와 같은 코드를 짜보았다
해결 방법
내 점수가 2등급인지 계산을 하는 코드를 만들어 보았다
1.
내 점수를 정수형으로 먼저 입력 받았다
2.
그리고 논리 연산자와 관계 연산자를 활용하였다, and와 <=, > 를 이용 하였다.
a = int(input("점수를 입력 해주세요: "))
print(f"당신은 2등급이 {90 > a and 80 <= a}")
입력 예시:
점수를 입력 해주세요: 89
출력 결과:
당신은 2등급이 True
Python
복사
이런식으로 문제를 해결 하였다! 이 코드를 해석 하면 90점 미만이고 80점 이상인지 여부를 확인 한다