/* 본 게시물은 '이것이 코딩테스트다 with Python | 나동빈', 의 내용과 참고자료를 토대로 작성되었습니다. */
/* 본 글은 개인적으로 공부한 내용을 정리한 글이므로 오류가 있을 수 있습니다. */
참고 자료
[URL] :
1. 정수형
정수형에는 양의 정수, 음의 정수, 0이 있다.
# 1. 정수형
a = 100 # 양의 정수
a = -100 # 음의 정수
a = 0 # 0
파이썬 정수 계산에 있어 특이점으로는 '/', '//' 연산자를 구분한다는 점이다. '/' 는 나눈 결과를 '//'는 몫을 뜻한다.
# 정수 계산
a, b = 5, 3
print(a / b) # 나눈 결과 1.6666666666666667
print(a // b) # 몫 1
print(a % b) # 나머지 2
print(a ** b) # 거듭제곱 125
파이썬에서는 수를 할당할 때 byte 를 미리 정하지 않고 유동적으로 정한다. 예를 들어, 특정 값을 나타내는데 4바이트가 부족하다면 5바이트, 더 부족하면 6바이트까지 사용할 수 있게 유동적으로 운용한다. (이 특징 때문에 데이터 사이언스에 많이 사용된다.) 더 자세하게 알고 싶으면 다음 글을 참고하길 바란다.
# 큰 정수
a = 100000000000000000000
print(type(a)) # <class 'int'>
파이썬에서는 모든 것(정수 포함)을 객체로 구현되어 있다.
a = 5
b = 5
id(a) == id(b) # true
5라는 객체를 만들어 Refence(참조)하는 방식이다. *id()는 객체의 주소를 반환하는 함수이다. 파이썬의 정수 클래스에 궁금하면 다음 글을 참고하길 바란다.
2. 실수형
실수형은 소수점에 아래의 데이터를 포함하는 수 자료형으로 파이썬에서는 변수에 소수점을 붙인 수를 대입하면 실수형 변수로 처리한다.
# 2. 실수형
a = 165.32 # 양의 실수
a = -145.23 # 음의 실수
a = 5. # 5.0 소수부가 0일 때 0 생략 가능
a = -.6 # -0.6 정수부가 0일 때 0 생략 가능
a = 1.6e-3 # 0.0016 유효숫자 * e^지수 (e= 10) 로 표현
a = 1.6e2 # 1.6 * 10^2 = 160.0
a = 123.52e1 # 1235.2
실수를 처리할 때 부동 소수점 방식을 이용한다. 오늘날 가장 널리 쓰이는 IFEE754 표준에서는 실수형을 저장하기 위해 4바이트, 혹은 8바이트라는 고정된 크기의 메모리를 할당하며, 이러한 이유로 인해 현대 컴퓨터 시스템은 대체로 실수 정보를 표현하는 정확도에 한계를 가진다. 예시로는 다음과 같다.
# 실수 계산
a = 0.3 + 0.6
print(a) # 0.8999999999999999
print(a == 0.9) # False
round() 함수를 이용해 반올림한 값을 얻을 수 있다. round(실수, 원하는 자릿수), 첫 번째 인자는 실수형 데이터, 두 번째 인자는 반올림하고자하는 위치 - 1 즉, 원하는 자릿수 이다. 예시는 다음과 같다.
#round(n, 원하는 소수점 자리)
a = round(123.456, 1)
print(a) # 123.5