Python/Data Type

[Python] Numeric Data Type

데이터 세상 2021. 3. 9. 22:42
728x90
반응형

숫자 자료형

int

  • 양의 정수, 음의 정수, 숫자 0을 포함하는 자료형
  • 정수 크기는 적어도 32 bit (4 bytes) 임
  • (정수). bit_length(): 정수를 나타내는 데 필요한 바이트 수 확인 (python 3.1 이상부터 지원)
(999).bit_length()

>> 10
  • int(문자열, 밑): 다른 진법의 문자열을 정수로 변환, 밑 2 ~ 32 사이의 optional argument
s = '11'
d = int(s)
print(d) 

>> 11

b = int(s, 2)
print(b)

>> 3

 

float

실수형(floating-point): 소수점이 포함된 숫자를 의미, 정수부.소수부

부동 소수점(floating point)

Single Precision

  • 32 bit (4 bytes)
  • 부호(1bit) + 지수(8bit) + 가수(23bit): signification digits(유효 숫자 자릿수)

Double Precision

  • 64 bit (8 bytes)
  • 부호(1bit) + 지수 (11bit) + 가수 (52bit)

지수(exponent)

  • 정밀도 결정

가수(mantissa)

  • 표현 가능한 수의 범위를 결정
  • NaN(Not a Number): 0으로 나누거나 음수에 대한 제곱근 등
  • Overflow / Underflow: 주어진 정밀도 형식으로 표현할 수 있는 범위를 넘어선 경우

 

complex

  • 허수(imaginary number)의 약자로는 j를 사용하여 표현
  • real: 실수부
  • img: 허수부
  • conjugate(): 켤레 복소수
print(1+2j)
print((1+2j).real)
print((1+2j).img)
print((1+2j).conjugate())

>>
(1+2j)
1.0
2.0
(1-2j)

 

type()

  • 숫자 자료형 확인
print(type(3))
print(type(3.14)
print(type(1+2j))

>>
<class 'int'>
<class 'float'>
<class 'complex'>

 

사칙연산

  • 덧셈: x + y
  • 뺄셈: x - y
  • 곱셈: x * y
  • 나눗셈: x / y
  • 제곱: x ** y
  • 몫(floor 나눗셈) : x // y
  • 나머지(모듈러): x % y

Variable

  • 데이터를 담는 메모리 공간으로서 숫자, 문자, 리스트 등의 다양한 데이터를 저장 가능
  • 적절한 변수명을 사용함으로써 보다 직관적으로 이해할 수 있는 코드 작성 가능
  • 변수는 메모리 공간에 있는 특정 값(value)을 활용(참조)하는 방식으로 동작
  • 서로 다른 변수명을 갖더라도 같은 메모리 공간을 가리킬 수 있고, 같은 값을 가질지라도 서로 다른 메모리 공간을 가리키는 경우가 있음
  • == : 참고 값 비교
  • is : 객체 정보 비교
a=b=12345678
print(a)
print(id(a))
print(b)
print(id(b))

>>
12345678
2361954672912
12345678
2361954672912

print(a == b)
>> True
print(a is b)
>> True
c=12345678
d=12345678
print(c)
print(id(c))
print(d)
print(id(d))

>>
12345678
140599776354832
12345678
140599776354928

print(c == d)
>> True
print(c is d)
>> False

 

Python 예약어(Reserved Words):

예약어는 python에서 미리 정의한 의미 있는 단어로 상수 또는 변수 등 별도의 식별자로 사용할 수 없음

  • 예약어는 모두 30개이다.
  • 예약어는 상수 또는 변수 나 다른 식별자의 이름으로 사용할 수 없다.
  • 예약어는 모두 소문자이다.
and def exec if not return
assert del finally import or try
break elif for in pass while
class else from is print with
continue except global lambda raise yield

References

728x90
반응형

'Python > Data Type' 카테고리의 다른 글

[Python] Sequence Data Type - tuple  (0) 2022.04.25
[Python] Collection Data Type - dictionary  (0) 2021.03.09
[Python] Sequence Data Type - string  (0) 2021.03.09
[Python] Boolean Data Type  (0) 2021.03.09
[Python] Python Data Type  (0) 2021.02.22