산술연산자
기본적으로 +, -, *, /, //, %, **이 있는데!
/는 몫이 값인데 실수 연산을 한다!
//는 마찬가지로 몫을 값으로 하는데 정수 연산.(소수점 뒤로 다 버림처리)
%는 나머지가 값이 나오고,
**은 제곱 곱이다.
비교연산자
비교연산자는 주로 두 값을 비교하는데, 결과는 불리언 값으로 나온다.(True or False)
>, <, >=, <=, ==, != (특히 ==는 같다는 뜻이므로 주의! *=와 헷갈리지 않게, 할당)
할당 연산자
값을 할당 할 때에 쓰이는데, 기본 할당 외에도 복합 할당 연산자 또한 제공하니 간편하게 사용 할 수 있다!
인플레이스 연산할 때 쓰이는 연산자로(자기 자신 값 할당)
+=, -=, *=, /=, %= 이렇게 구성되어있는데,
예를 들어
i += 1은 i = i + 1 이다, 즉 자기자신을 더해준다는 뜻!
비트 연산자
비트 연산자는 정수를 이진 비트로 사용하는 연산자인데, 연산자는 정수의 비트 단위로 동작한다.
a = 60 # 111100
b = 13 # 001101
print(a & b) # 12, 즉 1100 -> a=1 and b=1일때 1, 그렇지 않으면 0
print(a | b) # 61, 즉 111101 -> a=1 or b=1일때 1, 그렇지 않으면 0
print(a ^ b) # 49, 즉 110001 -> a=1 , b=0 이거나, a=0, b=1 일때 1 (둘 중 하나만 참일때 1)
print(~a) # 61, 이 결과는 2의 보수 방식 때문
print(a << 2) # 240, 즉 11110000
print(a >> 2) # 15, 즉 1111
논리연산자
결과로 True 또는 False 값을 반환하지만, 항상 그렇진 않고
마지막으로 평가된 피연산자 값을 반환한다.
- and : 앞의 식이 True, 뒤의 식이 True일때 결과가 True
- or : 앞의 식이 True 또는 뒤의 식이 True일 때 결과가 True
- not : 식의 값을 반대로 변환한다.
print(False and 10) # False, 첫번째에서 평가를 할 때 답이 나오므로 False
print(True and 10) # 10, 마지막 값 반환
print(0 and True) # 0, 0은 False이므로 0이 반환
print(1 and 10) # 10, 0보다 큰 숫자는 모두 True 이므로 마지막 값 반환
False
10
0
10
print(True or 10) # 이미 True에서 값이 나오므로 True
print(10 or True) # 10에서 이미 True값이 나오므로 10이 반환
print(False or 3) # 3, False를 넘어가서 평가되므로 마지막 값 반환
print('Hello' or 3) # Hello, ''""등 빈 문자열을 제외한 문자열은 모두 True
print(0 or 'Hello') # Hello, 0은 False이므로 넘어가서 Hello가 반환
True
10
3
Hello
Hello
'코딩 > 파이썬' 카테고리의 다른 글
제어문 - 반복문 (0) | 2024.03.15 |
---|---|
제어문 - 조건문 (0) | 2024.03.14 |
컬렉션 타입 - 딕셔너리 (4) | 2024.03.14 |
컬렉션 타입 - 세트 (0) | 2024.03.14 |
파이썬 컬렉션 타입, 튜플 (0) | 2024.03.13 |