배우고 느낀 것들
[구름] 1일차 본문
*
:= 대입 표현식 , "바다코끼리"
: 표현식에 이름을 부여하고, 이후 재사용할 수 있게 만들어줌
a = (1,2,3)
n = len(a)
if n > 5:
a = (1, 2, 3)
if (n := len(a)) > 5:
로 한번에 표현 가능
*
a += 1은 in place 연산,
a = a+1 은 out - place 연산임! 구체적인 건 나중에
list.clear 은 in place
list = [] 는 out place
*
비트 연산자
2진법의 첫자리가 1이면 -를 의미
~ : 비트 부정
1을 0으로, 0을 1로
ex) ~5 : 5는 0101 이므로 1010 = -8 + 2 이므로 -6
| : 비트 합
0 + 0 이면 0, 나머지 경우에는 1
ex) 2|3 = 010 + 011 = 011 므로 3
&: 비트 곱
1 * 1 이면 1, 나머지는 0
ex) 2|3 = 010 * 011 = 010 이므로 2
^: 배타적 비트 합
같으면 0, 다르면 1
ex) 2^3 = 010 ^ 011 = 001이므로 1
is : 각 객체의 주소 확인
-> 불변형 변수와 가변형 변수 구분할 때 용이
a = 5
b = a
a += 1
a is b # false 값이 나옴 : 원시 자료형은 불변자료이기 때문에 a에 1을 더하는 순간 주소가 바뀜.
a = [1,2,3]
b = a
a += [4]
a is b # true : a는 가변형이므로 a의 주소는 여전히 동일
a = [1,2,3]
b = a
a = a + [5] # a에 [5]를 더한 값을 a에 새롭게 할당
a is b # false : a의 주소가 바꼈음
불변 타입과 가변 타입
원시자료형은 불변 타입(새로운 객체를 생성)
원시자료형과 tuple을 제외한 대부분은 모두 가변 타입 (수정시 메모리 주소를 복사하므로주소가 바뀌지 않음)
적당한 크기의 원시자료형 대입은 기존 객체를 할당함
a = 1
b = 1
a is b -> true
실수 -> 정수 : 반올림 아니고 내림됨. 반올림 하고 싶으면 round 함수 이용
insert(index, value) : 리스트의 index 값에 value 추가
빅 O 표기법
O(1) : input과 무관하게 상수 시간
O(N) : 배열의 길이에 따라 영향을 받음 -> 보통 O(logN) 으로 풀림
O(N^2) : ex) 이중 for문 -> 보통 O(NlogN) 으로 풀림
'파이썬 > 강의' 카테고리의 다른 글
[구름] 4일차 (0) | 2022.11.10 |
---|---|
[구름] 2일차 (0) | 2022.11.08 |
패스트캠퍼스 5주차 EDA (0) | 2022.09.23 |
패스트캠퍼스 4주차 요약 (0) | 2022.09.15 |
[언분프] 1주차 (0) | 2022.09.08 |