문자열 연산 : +, * 가능 !
나눗셈 결과는 항상 데이터 타입이 실수(float)이다. (20/4를 해도 4.0이 결과!), 0으로 나누면 ZeroDivisionError 발생!
% : 나머지연산자 // : 몫 연산자 / : 나누기 연산자
🔨divmod() : 나머지와 몫을 한번에 구하는 함수
result = divmod(나눠지는수,나누는수) result==(몫,나머지)인 튜플형태로 저장됨
** : n승 해주는 연산자
제곱근 구하기
n의 m제곱근 : n**(1/m)
math 모듈의 sqrt()와 pow() 함수 : sqrt()는 2의 제곱근을 구하는 함수, pow()는 거듭제곱 함수
ex) math.pow(n,m)==n**m
💡Tip : 파이썬에는 천단위마다 ,를 기록해주는 format() 함수가 있음 . format(숫자,',')로 사용가능
추가로 format(숫자,'변형할 진수')를 이용한 진수변환(16진수 : x, 8진수 : o) 등 다양한 형태 변환을 지원한다.
산술연산자의 응용!
특정연산자= : 특정연산자 연산 후 할당
ex) += : 덧셈 연산 후 할당 , x+=1 처럼 사용 x=x+1 와 같음
💡Tip : 한 줄에 여러 실행을 여러실행을 하고 싶을 때 세미콜론(;)을 이용하면 된다. ex) num1=10; num2=5
논리연산자: 피연산자의 논리(True,False)를 이용한 연산
논리 연산자의 종류 : and , or, not
and 연산 : A and B 모두 True인 경우만 True이다.
or 연산: A와 B 중 어느하나만 True이면 True이다.
not 연산 : A의 상태를 부정하는 결과를 리턴한다.
모듈 : 누군가 이미 구현해놓은 다양한 기능들
operator 모듈(산술,비교,논리 연산자 관련 함수)
연산자 | operator 함수 |
---|---|
+ | operator.add() |
- | operator.sub() |
* | operator.mul() |
/ | operator.truediv() |
% | operator.mod() |
// | operator.floordiv() |
** | operator.pow() |
and | operator.and_() |
or | operator.or_() |
not | operator.not_() |
== | operator.eq() |
!= | operator.ne() |
> | operator.gt() |
>= | operator.ge() |
< | operator.lt() |
<= | operator.le() |
일반 연산자를 이용해서 연산할 수 있으나 모듈을 사용시 더 빠른속도로 연산이 가능하다.
#실습예제, 10~100까지 난수를 생성한 후 십의자리, 일의 자리 출력
import random
rnd=random.randint(10,100)
digit_10=operator.mod(rnd,10)
digit_1=operator.floordiv(rnd,10)