Py 숫자 - sonkoni/Koni-Wiki GitHub Wiki
숫자 계산
숫자 - 정수(int), 실수(float), 복소수(complex)
+ : 덧셈 += 덧셈 후 할당
- : 뺄셈 -= 뺄셈 후 할당
* : 곱셈 *= 곱셈 후 할당
/ : 나눗셈 /= 나눗셈 후 할당
// : 버림나눗셈 //= 버림나눗셈 후 할당
% : 정수 나머지 %= 나머지 연산 후 할당
** : 거듭제곱 **= 거듭제곱 후 할당
@ : 행렬곱셈(numpy) @= 행렬곱 수행 후 할당
+a : a에 양수 부호를 붙임
-a : a에 음수 부호를 붙임
== 자료형 알기 ==
type(값)
== 정수로 == == 실수로 ==
int(숫자) float(값)
int(계산식) float(계산식)
int(문자열) float(문자열)
== 몫과 나머지 함께 == == 진수 표현 ==
divmod(값, 값) -> 튜플 0b110 -> 6
0o10 -> 8
0xF -> 15
== 입실론 비교 ==
import math, sys
입실론 : sys.float_info.epsilon
절대값 : math.fabs
나눗셈 연산 결과는 항상 실수로 나온다
c와 다르다. c는 연산 결과가 입력값의 형에 맞춰서 나왔다. 그러나 파이썬은 무조건 실수로 나온다.
5 / 2.0 // 정수÷실수 결과: 실수 2.5
5 / 2 // 정수÷정수 결과: 정수 2
5 / 2 # 정수÷정수 결과: 실수 2.5
5 // 2 # 정수÷정수 버림연산 결과: 정수 2
몫과 나머지를 함께
a = divmod(5, 2)
print(a) ## (2, 1)
q, r = divmod(5, 2)
print(q) ## 2
print(r) ## 1
캐스팅
print(int(3.3)) ## 3 : 소수점이 짤린다.
print(int(5 / 2)) ## 2 : 소수점이 짤린다.
print(int('10')) ## 문자 10 에서 숫자 10으로 바뀐다
진법 표현
print(0b110) ## 6
print(0o10) ## 8
print(0xF) ## 15
실수 입실론 비교
import math, sys
x = 0.1 + 0.2
isEqual = math.fabs(x - 0.3) <= sys.float_info.epsilon
print(isEqual) ## True