좋았던 점

아직까지는 아는 내용이라 수업 따라가는데 지장이 없어서 다행이었습니다. 그리고 이번주는 삼일절 대체 공휴일 덕분에 4일만 가도 되서 심적으로도 심리적으로도 안심이 되는 한주였습니다. 또한 아직 서먹하지만 같이 힘듦을 공유하고 소통 할 수 있는 동료들이 생긴점이 매우 큰 변화인거 같습니다. 그로인해 쉬는시간과 점심시간이 좀 더 짧게 느껴졌습니다. 새로 이사한 자취방 또한 아직 불편하긴 하지만 점차 적응이 되는거 같아 저번주보단 덜 피곤한 한주였습니다. 

 

아쉬웠던 점

이번주부터는 꼭 아침을 챙겨먹기로 마음을 먹었지만, 한번도 챙겨먹지 못했습니다. 그로인해 우유의 유통기한이 다가왔고 물 대신 우유를 마시는 한주를 보냈습니다(나름 좋았습니다). 그에따라 운동도 아직 시작 못했습니다... 파이썬 진도가 점차 심화됨으로서 헷갈리는 부분이 많아지기 시작했습니다. 하나하나 실험해보며 좀더 기본을 다지는 시간을 가졌습니다.  또한 원래 커피를 마시지 않던 나지만 너무 피곤할때는 한잔씩 마시게 되는거 같습니다...

 

인상적이었던 점

마지막날 배웠던  streamlit을 이용해 로컬 웹사이트를 여는 수업에서 무한 로딩이 걸리는 현상을 겪었습니다. 심지어 강사님 방법 그대로 해도 안되는걸로 봐선 네트워크 문제이거나 많은 사람들이 같은 포트번호로 열어 과부하가 온거 같습니다.

그리고 자취방 재활용 버리는 곳을 알지 못해 빈물병을 구석에 쌓아 두었습니다. 자취방 중개사분에게 연락해 알아봐야 할거 같습니다.  보람차게 한주를 마무리하고 동네 친구들과 마신 맥주는 평소보다 더 시원했던거 같습니다.  

 

수업 내용중 어렵거나 중요하다고 생각한 내용 (중요하지만 원래 아는 내용은 스킵하였습니다)

 

1. 튜플 생성 주의사항

sum은 이터러블(반복 가능한)한 데이터 값만 계산 가능합니다. 즉 리스트와 튜플을 넣어야 합니다. 하지만

sample_lists = (100)을 하면 오류가 발생합니다. 왜냐하면 저런식으로 sample_lists에 값을 넣으면 튜플이 아닌 정수로 인식하기 때문입니다. 하지만 sample_lists = (100,)을 하면 튜플로 인식하여 결과 값이 잘 나오는것을 볼 수 있습니다. 

 

2. 3형 연산자

다른 언어에서는 x % 2 ==0 ? '짝수' : '홀수'  (x를 2로 나눈 나머지가 0이면 짝수 아니면 홀수)와 같은 방식의 3형 연산자를 파이썬에서는 사용이 불가능하지만 'o'  if x == True else 'x' (x가 참이면 o 아니면 x)라는 형식으로 사용합니다. 

 

3. reduce와 lambda

reduce함수는 앞 두 값의 결과와 그 바로뒤 결과를 계산 그 후에도 앞서 계산한 값과 그 뒤 값을 계산하는 함수입니다. lambda함수는 무명 함수로 이름 없이 원하는 식을 만들어 계산 할 수 있는 함수입니다. 위 코드는 리스트속 숫자들이 모두 짝수인지 검증하는 코드입니다. lambda 함수에 , True를 추가하면 리스트 맨 앞에 True가 있는거 처럼 계산할 수 있습니다. 즉 위 lambda함수 식에 따르면 True and 61 % 2 ==2 --> True and False 가 되고 False가 나옵니다. 그 후 False and 72 % 2 ==0 을 계산하는 방식으로 모두 짝수여야 마지막 return 값이 True가 나옵니다. 

여기서 중요한 점은 True를 앞에 넣지 않으면 첫 x에 61이 들어가고 61은 0이 아닌 정수 이므로 True로 나와 전체 return값고 True로 나오는 버그가 생기게 됩니다. 

 

4. 클로저

클로저를 이용하여 상태를 유지하는 기법입니다. count 를 외부함수로 정의하고 내부함수에서 참조하게끔 nonlocal를 이용합니다. create_counter()함수는 처음 counter = create_counter()를 했을때만 작용하고 그 후부터는 return문인 increament()만 수행합니다. 즉 count의 값은 0으로 초기화 되지 않지만 더하는 과정은 계속 할 수 있게 됩니다. 그로인해 counter함수를 실행할 때마다 값이 계속 더해집니다. (매우 신기했습니다)

 

5. 리스트 컴프리헨션

간단히 한줄로 조건을 주어 리스트를 만들고 싶을 때 쓰는 방법인 리스트 컴프리헨션입니다. 여기서 중요하게 봐야할 점은 for문보다 if문이 앞에 온다는 점입니다. 원래는 for문 아래 if 문을 사용하는데 말입니다.

 

6. 캡슐화 (@setter)

 위 코드는 setter를 활용해 데이터를 캡슐화로 보호하는 코드입니다. 원본 데이터는 _age와 같은 형식으로 접근하게 힘들게 하며 age데이터를 변경할때는 조건을 주어 조건에 맞지 않으면 변경되지 않게끔 하는 기법입니다. 이도 추후 많이 사용할 거 같습니다. @setter를 사용하기 위해선 @property를 꼭해줘야 하는점 기억바랍니다. 

 

금주의 이모티콘(금주의 나의 상태를 제일 잘 표현하는 이모티콘)

+ Recent posts