산술 연산자
연산자 | 의미 | 예 |
+ | 양변의 값을 더하기 | 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 |
** | 좌변의 값을 우변의 값으로 제곱 | ㅁ = 3 ** 2 # a = 9 |
더하기 연산
a, b, c = "2", "3", 4 print(a + b) => 23 #문자열 더하기 연산이므로 합쳐져서 나온다. print(int(a) + int(b)) => 5 #int 형으로 캐스팅해야 원하는 결과가 나온다. print(b + c) => TypeError : 문자열 + 정수형을 하면 Error가 난다. print(int(b) + c) => 7 print(b + str(c)) => 34 #정수형을 문자형으로 캐스팅한후 더했으므로 34가 나온다. |
대입연산자
연산자 | 의미 | 예 |
= | 대입(할당) | a = 3 |
+= | 좌변의 변수에 우변의 값을 더해 대입 | a = 3; a+=2 # a = 5 |
-= | 좌변의 변수에 우변의 값을 빼서 대입 | a = 3; a-=2 # a = 1 |
*= | 좌변의 변수에 우변의 값을 곱해서 대입 | a = 3; a *= 2 # a = 6 |
/= | 좌변의 변수에 우변의 값을 나누어 대입 | a = 5; a /=2 # a = 2.5 |
//= | 좌변의 변수에 우변의 값을 나누어 몫을 대입 | a = 5; a //= 2 # a = 2 |
%= | 좌변의 변수에 우변의 값을 나누어 나머지를 대입 | a = 5; a %= 2 # a = 1 |
**= | 좌변의 변수에 우변의 값으로 제곱하여 대입 | a = 5; a **=2 % a = 25 |
관계연산자
연산자 | 의미 | 예 |
== | 양변의 값이 같다면 True리턴, 아니라면 False 리턴 | 2 == 2 #True |
!= | 양변이 다르다면 True, 아니라면 False | 2 != 2 #False |
> | 좌변이 우변보다 크다면 True, 작거나 같다면 False | 2 > 2 #False |
< | 좌변이 우변보다 작다면 True, 같거나 크다면 False | 2 < 3 # False |
>= | 좌변이 우변보다 크거나 같다면 True, 작다면 False | 2>=2 True |
<= | 좌변이 우변보다 작거나 같다면 True, 크다면 False | 2 <= 2 True |
#파이썬에서는 수학처럼 양쪽 범위체크가 가능하다.
파이썬의 경우 a가 5와 10사이에 있는지 알고싶을때 5 <= a <= 10 5~10 사이라면 True를 아니라면 False를 리턴한다. |
다른 언어의 경우 a >= 5 && a<= 10 #&&는 and 연산이다. a가 5보다 크거나 같고 (그리고) a가 10보다 작거나 같다면 True를 리턴한다. |
논리 연산자
연산자 | 의미 | 예 |
and | 양쪽의 값이 모두 True일때만 True를 리턴 | True and False #False |
or | 양쪽 값중 하나만 True라면 True를 리턴 | True or False #True |
not | True 일경우 False를 False라면 True를 리턴한다. | not True #False |
비트 연산자
연산자 | 의미 | 예 |
& | 양변의 비트값이 모두 1일 경우 1을 반환(2진수로 계산시) | 0101 & 1001 # 0001 |
| | 양변의 비트값중 하나라도 1이라면 1을 반환 | 0010 | 0101 #0111 |
^ | 양변값이 다를경우 1, 같을 경우 0을 반환(xor) | 0110 ^ 0101 # 0011 |
~ | 비트 값이 1일 경우 0, 0일 경우 1을 반환 | ~0001 # 1110 |
<< | 좌변의 값을 우변의 값 만큼 왼쪽으로 비트이동 | 4 << 1 # 100 -> 1000 => 8 |
>> | 좌변의 값을 우변의 값만큼 우측으로 비트이동 | 4>>1 # 100 -> 10 => 2 |
우선순위 | 연산자 | 설명 |
1 | () | 괄호 |
2 | ** | 제곱 |
3 | +, -, ~ | 부호, 비트부정 |
4 | +, /, //, % | 곱, 나누기, 몫, 나머지 |
5 | +, - | 더하기, 빼기 |
6 | <<, >> | 비트이동 |
7 | & | 비트 논리곱 |
8 | ^ | 비트 배타적 논리합(exclusive or, xor) |
9 | | | 비트 논리함 |
10 | <, <=, >, >=, ==, != | 작다, 작거나같다, 크다, 크거나 같다, 같다, 같지 않다. |
11 | not | 부정 |
12 | and | 논리곱 |
13 | or | 논리합 |
1. 괄호가 최우선
2. 산술연산이 비트연산보다 우선
3. 관계연산이 논리연산보다 우선
'프로그래밍언어 > Python' 카테고리의 다른 글
파이썬 - 흐름과 제어(반복) (0) | 2020.01.16 |
---|---|
파이썬 - 웹데이터 가져오기 (0) | 2020.01.15 |
파이썬 - 흐름과 제어(조건문) (0) | 2020.01.15 |
파이썬 - 변수란 무엇인가? (0) | 2020.01.13 |
파이썬이란 무엇인가? (0) | 2020.01.11 |
댓글