파이썬 자료형 (숫자형)

윤태영·2023년 11월 4일
0
post-thumbnail

이미지 출처: https://wikidocs.net/192339

파이썬의 여러가지 자료형중에 숫자형을 알아보겠습니다.

  • 파이썬의 모든 자료형
  • 데이터 타입선언
  • 연산자 활용
  • 형 변환
  • 외부 모듈 사용

파이썬 자료형 📕

외우지는 말자!!😂
"""
int : 정수
float : 실수
complex : 복소수
bool : 불린
str : 문자열(시퀀스) - 시퀀스는 반복을 처리할 수 있고 어떤 순서가 있다는 것을 의미한다. 지하철이나 버스를 타기 위해 한 줄로 서있는거라고 생각하자. 이 사람들을 하나의 데이터에 담으면 어떤시퀀스형!
list : 리스트(시퀀스)
tuple : 튜플(시퀀스)
set : 집합
dict : 사전
"""

데이터 타입 📕

나중에 자세히 공부할테니 지금은 이런게 있다고 알고만 있자.

데이터 타입

str1 = "Python" # str타입
bool = True # bool타입 True 혹은 False
str2 = 'Anaconda' # str타입
float_v = 10.0 # 주의👀 10 == 10.0 같지않다.
int_v = 7 
list = [str1, str2] # 대괄호로 감싸며 데이터를 계속 적재할 수 있다.
print(list)
>>> ['Python', 'Anaconda']
# 사전형태로 중괄호로 시작
# name은 key, Machine Learning은 값이라고 말한다. 
# Machine Learning을 꺼내기위해서는 key인 name이 필요하다
dict = {
    "name" : "Machine Learning",
    "version" : 2.0
} 
tuple = (1,3,4) # 튜플은 리스트와 형태는 같으나 소괄호()를 사용, 또한 괄호없이 1,3,4로 선언해도 된다.
set = {9,6,5} # 집합은 중괄호로 선언

데이터 타입 출력

print(type(str1))
print(type(bool))
print(type(str2))
print(type(float_v))
print(type(int_v))
print(type(dict))
print(type(tuple))
print(type(set))
>>> <class 'str'>
>>> <class 'bool'>
>>> <class 'str'>
>>> <class 'float'>
>>> <class 'int'>
>>> <class 'dict'>
>>>
>>>

숫자형 연산자 📕

"""
+
-
*
/ : 실수 나눗셈 ex) 4/2 -> 2.0
// : 몫 ex) 4/2 ->2
% : 나머지
abs(x) : 절대값
pow(x,y) : x**y -> 2**3은 (pow(2,3))
"""

정수선언

i = 77
i2 = -14
big_int = 77777777777777777777779999999999999999999999
# 정수 출력
print(i)
print(i2)
print(big_int)
>>> 77
>>> -14
>>> 77777777777777777777779999999999999999999999

실수선언

f = 0.9871
f2 = 3.141592
f3 = -9.1
f4 = 6/18
# 실수 출력
print(f)
print(f2)
print(f3)
print(f4)
>>> 0.9871
>>> 3.141592
>>> -9.1
>>> 0.3333333333333333

연산 실습 📕

계산기로 직접 해보면 아래와 같은 결과가 나옵니다.

사칙연산(+)

i1 = 19
i2 = 139
big_int1 = 333333333333339999999999999994342541
big_int2 = 483275934793854389537458938945895
f1 = 1.234
f2 = 3.839
# +
print('i1 + i2 : ', i1 + i2)
print('f1 + f2 : ', f1 + f2)
print('big_int1 + big_int2', big_int1 + big_int2)
>>> i1 + i2 :  158
>>> f1 + f2 :  5.073
>>> big_int1 + big_int2 333816609268133854389537458933288436

사칙연산(-)

i1 = 19
i2 = 139
big_int1 = 333333333333339999999999999994342541
big_int2 = 483275934793854389537458938945895
f1 = 1.234
f2 = 3.839
# -
print('i1 - i2 : ', i1 - i2)
print('f1 - f2 : ', f1 - f2)
print('big_int1 - big_int2', big_int1 - big_int2)
>>> i1 - i2 :  -120
>>> f1 - f2 :  -2.605
>>> big_int1 - big_int2 332850057398546145610462541055396646

사칙연산(*)

i1 = 19
i2 = 139
big_int1 = 333333333333339999999999999994342541
big_int2 = 483275934793854389537458938945895
f1 = 1.234
f2 = 3.839
# *
print('i1 * i2 : ', i1 * i2)
print('f1 * f2 : ', f1 * f2)
print('big_int1 * big_int2 : ', big_int1 * big_int2)
>>> i1 * i2 :  2641
>>> f1 * f2 :  4.7373259999999995
>>> big_int1 * big_int2 :  161091978264621351685384938675161135939476734639221797088730095819195

사칙연산(/)

i1 = 19
i2 = 139
big_int1 = 333333333333339999999999999994342541
big_int2 = 483275934793854389537458938945895
f1 = 1.234
f2 = 3.839
# /
print('i1 / i2 : ', i1 / i2)
print('f1 / f2 : ', f1 / f2)
print('big_int1 / big_int2 : ', big_int1 / big_int2)
>>> i1 / i2 :  0.1366906474820144
>>> f1 / f2 :  0.32143787444647043
>>> big_int1 / big_int2 :  689.7370825541443

사칙연산(//)

i1 = 4
i2 = 2
big_int1 = 16
big_int2 = 3
f1 = 1.234
f2 = 3.839
# //
print('i1 // i2 : ', i1 // i2)
print('f1 // f2 : ', f1 // f2)
print('big_int1 // big_int2 : ', big_int1 // big_int2)
>>> i1 // i2 :  2
>>> f1 // f2 :  0.0
>>> big_int1 // big_int2 :  5

사칙연산(%)

i1 = 4
i2 = 2
big_int1 = 16
big_int2 = 3
f1 = 1.234
f2 = 3.839
# //
print("i1 % i2 :", i1 % i2)
print("f1 % f2 :", f1 % f2)
print("big_int1 % big_int2 :", big_int1 % big_int2)
>>> i1 % i2 : 0
>>> f1 % f2 : 1.234
>>> big_int1 % big_int2 : 1

사칙연산(**)

# //
print("2 ** 3: ", 2 ** 3)
print("i1 ** i2: ", i1 ** i2) 
print("f1 ** f2: ", f1 ** f2)
>>> 2 ** 3:  8
>>> i1 ** i2:  16
>>> f1 ** f2:  2.241604026655564

형 변환 📕

형 변환 실습

a = 3. # 0 은 생략가능
b = 6
c = .7
d = 12.7
# 타입 출력
print(type(a), type(b), type(c), type(d))
>>> <class 'float'> <class 'int'> <class 'float'> <class 'float'>
# 이제 형변환을 해보자
# 해당 형변환을 해주는 함수 안에다가 내가 원하는 값을 넣어주면 자동으로 변환을 해준다.
print(float(b))
print(int(c))
print(int(d))
print(int(True)) # True : 1, False : 0
print(float(False)) # 원래 False 는 0이지만 float 때문에 0.0 출력
print(complex(3))
print(complex('3')) # 문자형 -> 숫자형
print(complex(False)) # 0이기 때문에 허수부만 출력
>>> 6.0
>>> 0
>>> 12
>>> 1
>>> 0.0
>>> (3+0j)
>>> (3+0j)
>>> 0j

수치 연산 함수 📕

abs함수는 절대값을 돌려준다.

abs()

print(abs(-7))
>>> 7

divmod함수는 몫과 나머지를 x,y로 출력해준다.(많이 쓰인다.!!)

divmod(x,y)

x, y = divmod(100, 8) # 100 을 8로 나누었을때 몫 과 나머지
print(x,y)
>>> 12 4

외부 모듈 📕

모듈 : 파이썬 정의와 문장을 담고있는 파일로 '.py' 확장자를 가진 파일이 파이썬 모듈입니다. 모듈은 함수,클래스,변수등을 포함할 수 있으며, import 문을 이용해 모듈을 가져온다.

외부모듈 : 파이썬내에서 특정기능을 수행하지 못할때 특정기능을 수행하거나, 특정문제를 해결하기위해 만들어진 라이브러리들로 외부에서 가져와 사용한다. numpy같은것이 해당된다.
(패키지 안에 모듈이 있으며 패키지를 상위개념을 보자.)

import math # 수학계산을 도와주는 많은 함수를 가지고있는 패키지를 가져온다.
print(math.pi) # 원주율을 출력한다.
>>> 3.141592653589793 
print(math.ceil(5.1)) # ceil이라는 함수는 x 이상의 수 중에서 가장 작은 정수를 출력
>>> 6

패키지에서 모듈을 하는것은 나중에 자세히 알아보고 여기서는 참고만 하자.
파이썬에서 사칙연산 외에 abs,p ower를 이용해 정말 큰 수도 빠른시간안에 계산이 가능하다. 그래서 통계 같은 고도화된 수치 연산 sci-FI 이런 것들을 이용해서 선형대수학 같은 계산들도 파이썬으로 이미 만들어진 패키지들이 존재한다. 다음에는 문자형에 대해 알아보자.😊

출처 : 인프런

profile
ice blue

0개의 댓글