이미지 출처: 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 이런 것들을 이용해서 선형대수학 같은 계산들도 파이썬으로 이미 만들어진 패키지들이 존재한다. 다음에는 문자형에 대해 알아보자.😊