1) > 클래스 및 인스턴스 선언 이후 위 두 줄은 다른 의미를 지닌다. 위에는 값에 해당하는 Ferrari와 bmw의 비교이고, 아래는 id값의 비교이다. 2) > print(dir(car1))명령어로 확인하면 해당 오브젝트가 클래스를 상속한 상황에서 어떤 구성요소로 이루어져 있는지 '리스트 형태'로 확인할 수 있다. 값은 확인할 수 없음. 이 at...
1) > 위와 같이 self인자를 갖는 instance 변수의 details attribute의 price에 접근할 수 있지만 이렇게 '타고 내려가는 식'으로 그 때마다 접근하는 건 좋은 방법이 아니라서(현업에서는 아예 접근을 막아둔다고 한다.) getprice(self)라는 instance method를 작성한다. 2) > def getprice(se...
1) Input Output > 무심코 사용한 것들의 명령어들의 데이터 타입은 모두 '클래스'였다. dir(int)로 확인하면 class가 들어있음을 알 수 있다. 2) > 역시 n에 10을 할당하고 클래스에서 add attribute를 꺼내 온 것임을 알 수 있다. print(n.doc)를 활용해 class의 설명을 확인해보자. 3) ... ...
1) > chars = '+-@#!@*$!)' 에 대해서 둘은 같은 형태의 리스트를 생성한다. >> filter(함수, 리스트) map(함수, 순회 가능한 객체) lambda(매개 변수: 표현식) 2) > Generator는 작은 데이터 조각으로도 연속되는 데이터를 만들어낼 수 있다. 생성할 값의 '위치 정보'만 갖고 한 번에 하나의 항목만 생성하며 ...
1) Input Output > setdefault는 "k는 디폴트로 사용하고 다음에 오는 애들은 리스트 형태로 붙여줘~" 정도의 주문인데, 아래는 source에 k1, k2/v1, v2와 같이 값이 여러 개일 경우, key가 중복될 때마다 값이 초기화된다.
1) > filter(조건 함수, 순회 가능한 데이터)를 입력해야 하는데 만족하는 값만 뽑아낸다면, 이는 if의 기능을 내장하고 있다고 봐야 하는가? 2) > 이는 일급 함수의 특징을 잘 보여준다고 할 수 있는데 먼저 함수를 변수 five에 할당했고, 함수 mul을 인자로 받는다.
1) > 클래스를 사용했을 때는 "나 이렇게 만들어 둔 원본을 인스턴스라는 복제품으로 사용할래"로 이해된다. 반면, 클로저에서는 "avgclosure1 = closureex1()"을 입력해서 'return 함수' 과정을 한 번 거치면서(사실상 클로저 영역의 변수 고정 및 참조하는 작업을 거치므로 '자유 변수'라는 단어는 중요해 보인다.) "이제 avera...
1) > iter함수로 iterable한 t를 호출해서 next라는 함수로 하나 하나 프린트한 것.(dir로 iter와 next__를 확인할 수 있다.) print(next(iter(t)))의 반복이라고 볼 수 있다. 이때 중요한 것은 매 시행마다 순서를 기억하고 있다는 점이다. 2) > wg 변수 선언 후 해당 문구는 ['Do', 'today'......
1) > map/wait(혹은 ascompleted) 방법의 차이의 핵심은 스케쥴링이라고 생각한다. 작업 순서를 유지하고 즉시 실행하는 map방법은 'worklist'를 중심으로 작업이 이뤄지는 반면, wait방법은 work를 중심으로 재구조화해서 코드는 길어지나 몇 가지 조건을 추가할 수 있다는 장점이 있어 보인다.