파이썬에서는 같다 라고 선언하면 주소값 까지 같다고 본다. 그래서 추후에 한쪽 변수를 바꿔줘도 다른 한쪽 변수가 변하는 상황이 생긴다. a = [1,2,3] b = a print(id(a)) print(id(b)) 1906865579072 1906865579072 a[1]을 4로 바꿔줫더니 b도 바뀌는 상황이 발생한다. a[1] = 4 print(a) print(b) [1, 4, 3] [1, 4, 3] 위와 같은 상황을 방지하기 위해서 [:] 이용 c=[1,2,3] d=c[:] c[1]=4 print(c) print(d) [1, 4, 3] [1, 2, 3] copy모듈 이용 from copy import copy e=[1,2,3] f=copy(e) e[1]=4 print(e) print(f) [1, 4,..
파이썬은 문자열끼리 덧셈, 곱셈이 가능하다. 다른 언어에서는 상상도 못할 일이다. a='hello' b='world' print(a+b) print(a*5) helloworld hellohellohellohellohello 문자열 인덱싱 자동으로 배열에 추가되서 각각 문자열을 처리하기 편하다 a='hello world' len(a) print(a[3]) #네번째 문자 print(a[-1]) #마지막 문자 print(a[0:3]) #0번째부터 2번째까지 0
3*3.3 9.899999999999999 정수형x실수형 값이 이상하게 나온다. 컴퓨터가 실수를 표현할때 오차가 발생하기 때문인데 decimal, fraction 모듈을 써서 정확히 계산해주면 된다. 0.1 + 0.2 == 0.3 False 또한 두 실수가 같은지 확인할때도 이렇게 하면 안된다. 0.1+0.2 0.30000000000000004 근사값으로 표현하면서 발생함. 부동소수점 반올림 오차라고 함. 두 값이 차이가 sys.float_info.epsilon 보다 작거나 같으면 두 값은 같다고 판단. sys.float_info.epsilon에 저장된 값을 머신 입실론(machine epsilon)이라고 함 단순히 두 값이 같은지 판단할때는 math.isclose 함수를 쓰면 된다. import mat..