본문 바로가기

코딩/파이썬

파이썬 연산자

산술연산자

기본적으로 +, -, *, /, //, %, **이 있는데!

/는 몫이 값인데 실수 연산을 한다!

//는 마찬가지로 몫을 값으로 하는데 정수 연산.(소수점 뒤로 다 버림처리)

%는 나머지가 값이 나오고,

**은 제곱 곱이다.

 

비교연산자

비교연산자주로 두 값을 비교하는데, 결과는 불리언 값으로 나온다.(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