연산자
- 산술 연산자
- 비교 연산자
- 논리 연산자
- 복합 연산자
- 기타 연산자
- concatenation, containment test, identity, indexing/slicing
산술 연산자
- 기본적인 사칙연산 및 수식 계산
- 일반적으로 사용되는 연산자를 생각하면 됨
/ : 나눗셈
// : 몫
% : 나머지
** : 거듭제곱
비교 연산자
- 값을 비교하며, True / False 값을 리턴함
>, <, >=, <=, == 등
!= : 같지 않음
is : 동일한 객체인지
is not : 다른 객체인지
논리 연산자
- 일반적으로 비교연산자와 함께 사용된다.
| 연산자 | 내용 |
| A and B | A와 B 모두 True시, True 반환 |
| A or B | A와 B 모두 False시, False 반환 |
| Not | True를 False로, False를 True로 |
- 단축평가
- 결과가 확실한 경우, 두 번째 값은 확인하지 않고 첫 번째 값 반환
- and 연산에서 첫 번째 값이 False인 경우 무조건 False => 첫 번째 값 반환
- or 연산에서 첫 번째 값이 True인 경우 무조건 True => 첫 번째 값 반환
print(5 and 4) # and 연산자이므로, 첫 번째 값이 True 라면 두 번째 값도 확인한 후 반환
=> 4
print(0 and 4) # and 연산자이므로, 첫 번째 값이 False 라면 두 번째 값은 확인하지 않고 바로 첫 번째 값 반환
=> 0
print(5 or 3) # or 연산자이므로, 첫 번째 값이 True 라면 두 번째 값 확인하지 않고 바로 첫 번째 값 반환
=> 5
print(0 or 3) # or 연산자이므로, 첫 번째 값이 False 라면 두 번째 값도 확인한 후 두 번째 값 반환
=> 3
복합 연산자
- 복합 연산자는 연산과 대입이 함께 이뤄짐
- 예시: 반복문을 통해서 개수를 카운트 하는 경우
count = 0
while count < 3:
print(count)
count += 1
기타 연산자
1. Concatenation
- '+' 연산자는 숫자가 아닌 자료형에서도 사용 가능함
- 컨테이터, OOP에서 연산자의 다양한 활용을 확인
'hello, ' + 'ssafy!'
=> 'hello, ssafy!'
2. Containment Test
- 특정 요소가 속해 있는지 여부를 확인
'a' in 'apple'
=> True
3. Identity
- is 연산자를 통해 동일한 객체(object) 인지 확인 가능함
# 파이썬에서는 -5부터 256까지의 숫자의 id는 동일
a = 3
b = 3
print(a is b)
print(id(a), id(b))
=> True
=> 4526160464 4526160464
-------------------------
c = 257
d = 257
print(c is d)
=> False
----------------------------------------------
# 특정 변수가 비어있는지 확인하기 위해선
# x == None 이 아닌 x is None을 쓰는 것을 권장
4. Indexing / Slicing
- [] 을 통해 값에 접근하고, [:] 을 통해 슬라이싱 가능함
연산자 우선 순위
- 다음은 주요 연산자의 우선 순위임
- 코드 작성시 우선순위에 유의해야 함
- 정 헷갈리면, 최 우선 연산자인 () 를 활용!!
1. ()
2. Slicing
3. Indexing
4. **
5. 단항 연산자(+, -) : 부호 (ex: -1, +1)
6. 산술 연산자(*, /, %)
7. 산술 연산자(+, -)
8. 비교 연산자(in, is)
9. not
10. and
11. or
댓글