본문 바로가기
  • Coding & Book
학습단/Python 학습단

3장 연산자

by 루이3 2023. 7. 5.

1. 산술 연산자

- 사칙연산을 다루는 연산자 입니다.

 

+ 더하기  - 빼기  * 곱하기  / 나누기
print(1 + 1)
print(3 - 2)
print(1 * 3)
print(3 / 1)

결과

 

 

- 다른 산술 연산자 입니다.

** 거듭제곱   % 나머지   //나눈 몫(정수형태로 결과가 나옵니다.)

 

print(3**2) 
print(10%3)
print(10//2)

결과

 

 

2. 비교 연산자

-수학에서의 부등호들을 비슷하게 파이썬에서 비교연산자라고 합니다.

 

> 왼쪽이 오른쪽보다 크다.
< 왼쪽이 오른쪽보다 작다.
>= 왼쪽이 오른쪽보다 크거나 같다.
<= 왼쪽이 오른쪽보다 작거나 같다.
== 왼쪽과 오른쪽이 같다.
!= 왼쪽과 오른쪽이 다르다.

 

print(5>3)
print(5<3)
print(5>=3)
print(5<=3)
print(5==3)
print(5!=3)

결과

 

 

3. 논리 연산자

 

and 왼쪽과 오른쪽이 모두 참이면 참이다.
or 왼쪽과 오른쪽 하나라도 참이면 참이다.
not 값이 참이면 거짓 ,거짓이면 참이다.

print((5>3) and (5>3))
print((5>3) or (5<3))
print(not(5!=3))

결과

 

 

3-1. 연산자의 우선순위

연산자의 우선순위
대입 연산자 < 논리연산자 < 부정,비교연산자 < 덧셈,뺄셈 <  곱셈 ,나눗셈 정수 ,나눗셈, 나머지 <
거듭제곱 < 리스트 딕셔너리 세트 튜플

 

 

4. 복합 대입 연산자

- 코드가 더 간결해집니다.

 

+= 왼쪽값에 오른쪽 값을 더한후 왼쪽 값에 대입 합니다.
-= 왼쪽값에 오른쪽 값을 뺸후 왼쪽값에 대입합니다.
*= 왼쪽값에 오른쪽 값을 곱한후 왼쪽값에 대입합니다.
/= 왼쪽값을 오른쪽값으로 나눈후 왼쪽값에 대입합니다.
**=  왼쪽 값을 오른쪽 값으로 거듭제곱 후 왼쪽 값에 대입합니다.
//= 왼쪽값을 오른쪽 값으로 나눈후 몫을 왼쪽값에 대입합니다.
%= 왼쪽 값을 오른쪽 값으로 나눈 후 나머지를 왼쪽값에 대입합니다.

 

 

 

5. 변수로 연산하기

-2장에서 배운 변수를 이용하여 연산하는것입니다.(변수로 인해 반복연산이 가능해집니다.)

number = 10

number -= 2
print(number)

number **= 2
print(number)

number += 2
print(number)

number /= 2
print(number)

결과

6. 함수로 연산하기

- 파이썬에는 숫자연산을 할수 있는 함수들을 제공합니다.

abs(x)
# x의 절대값

pow(x,y)
# x를y만큼 거듭제곱

max()
# 가장 큰값

min()
# 가장 작은 값

round(x,d)
# x를 반올림한 값, d는 표시할 소수점이하 자릿수
print(abs(-3))

print(pow(3,4))

print(max(5,10))

print(min(5,10))

print(round(3.265421,2))

결과

 

 

- math 모듈

모듈을 사용하기 위해 from 모듈명 impot 기능을 추가해야 합니다.

from math import *

floor() #내림

ceil() # 올림

sqrt() #제곱근
from math import *

result = floor(4.99)
print(result)

result= ceil(3.12)
print(result)

result = sqrt(9)
print(result)

결과

 

 

7. random 모듈

-난수가 필요할때 사용합니다.

 

random() 0이상 1미만인 실수 난수를 생성합니다.
randrange(시작숫자,끝 숫자) 범위안에서 정수인 난수를 생성합니다.(끝숫자 미포함)
randint(시작숫자, 끝숫자) 범위안에서 정수인 난수를 생성합니다. (끝숫자 포함)

 

from random import *
from math import *

print(floor(random() * 10))
print(randint(1,10))
print(randrange(1,10))

결과(결과는 계속 다릅니다.)