[Python] 기초 #3-주요 연산자

정보구니·2021년 11월 17일
0

Python

목록 보기
3/18
post-thumbnail

파이썬 연산자는 크게 5가지 종류가 있다.

- 산술연산자
- 비교연산자
- 할당연산자
- 논리연산자
- 비트연산자




산술연산자


산술연산자 : +, -, *, /, **, //, %

# 산술연산자 ➡ +, -, *, /, **, //, %
a = 1
b = 2

c = a + b      # 덧셈
d = a - b      # 뺄셈
e = a * b      # 곱셈
f = a / b      # 나누기
g = a // b     # 몫을 구한다
h = a % b      # 나머지를 구한다

print(c)
print(d) 
print(e) 
print(f) 
print(g)
print(h) 

# 결과
3
-1
2
0.5
0
1




비교연산자


비교연산자 : ==, !=, <, >, <=, >=

# 비교연산자 : ==, !=, <, >, <=, >=
a = 2
b = 2
c = 3
d = 1

if a == b :                       
    print('a는 b와 같습니다.')

if a != c :
    print('a는 c는 같지않습니다.')  

if a < c : 
    print('a는 c보다 작다.')

if a > d :
    print('a는 d보다 크다.')

if a <= b :
    print('a는 b보다 작거나 같다.')

if a >= b :
    print('a는 b보다 크거나 같다.')




할당연산자


할당연산자 : +=, -=, *=, %=, //=

# 할당연산자 :  +=, -=, *=, %=, //=
a = 3
a += 3         # a = a + 3

b = 5
b -= 2         # b = b - 2

print(a)
print(b)

# 결과
6
3




논리연산자


논리연산자 : and, or, not

# 논리연산자 : and, or, not
a = 3
b = 2
c = 3

if a > b and a == c :                # 조건이 '모두' 참이여야 출력
    print('조건이 모두 참이다.')

if a > b or a == b :                 # 조건이 둘 중 하나만 참이여도 출력
    print('조건 둘중 하나가 참이다')

if not a < b :                       # 조건이 참이 아닐경우 출력
    print('조건이 참이 아니다')




비트연산자


비트연산자 : &(AND), |(OR), ^(XOR), ~(보수), <<, >>

          (16bit)     (2진수-binary)
a = 3  ➡   0x03   ➡   0000 0011
b = 4  ➡   0x04   ➡   0000 0100 
c = 1  ➡   0x01   ➡   0000 0001
# 비트연산자 : &(AND), |(OR), ^(XOR), ~(보수), <<, >>
d = a & b         # 각 비트가 모두 1일때만 1 ➡ 0000 0000
print(d)

e = a | b         # 각 비트가 하나만 1이여도 1 ➡ 0000 0111
print(e)

f = a ^ b         # 각 비트가 다를때만 1 ➡ 0000 0111
print(f)

g = ~a            # 2의 보수를 구한다
print(g)

h = a << 1        # 비트를 왼쪽으로 1칸씩 shift ➡ 0000 0110
print(h)

i = a >> 1        # 비트를 오른쪽으로 1칸씩 shift ➡ 0000 0001
print(i)

# 결과
0
7
7
-4
6
1

여기서 숫자를 16bit로 표현하는 것과 2진수로 표현하는 것.... 잘 모르겠다...🤨


조건문 활용

비트연산자를 조건문에서도 쓸 수 있다.

이때 컴퓨터는 값이 1이든 -1이든, 2이든 -2이든 0이 아닌 값이 있을때 true를 나타내고,
값이 0일때 flase를 나타낸다.

a = 0x03 #0000 0011
b = 0x04 #0000 0100

if a & b :                 # a & b ➡ 0000 0000
	print ('true')
else :
	print ('false')

# 결과
false

---------------------------------------------------
b = 0x04 #0000 0100
c = 0x06 #0000 0110

if b & c :                 # b & c ➡ 0000 0100
	print ('true')
else :
	print ('false')

# 결과
true

0개의 댓글