오늘은 오전에 LMS를 이용하여 기본적인 파이썬 문법에 대해 빠르게 훑은 후,
오후에는 파이썬 마스터 풀잎스쿨이 진행되었다.
LMS로 진행헀던 파이썬 문법은 함수, 변수, 제어문 자료형 등의 기초적 문법을 다루었고, 파이썬을 사용해본 경험이 있는 나는 비교적 빠르게 완료할 수 있었다.
파이썬을 사용해본적이 있기에 기초적 문법은 다 안다고 생각했는데, 생각보다 자료형이나 함수 부분을 진행했을때 '아 맞아 그랬었지,,' 하고 다시 생각났던것들도 많았었고, 내용이 상세하게 이루어져 있어서 기초를 다잡을 수 있었던 시간이었다.
특히, '부동소수점'에 대한 내용이 조금 어려웠는데, 단순히 파이썬을 쓸때 소수는 float이구나 라고 생각하고 넘어갔던 부분들을 자세히 알 수 있었다.
조원분들과 토론할때 내용이 잘 이해가 안갔던 부분이 있었는데,
바로 1.0을 부동소수점으로 작성하는 것이었다.
지금 와서 생각을 다시 해보면, 1.0 은 양수이기에 부호부는 0이고, 절댓값인 1.0 을 지수로 나타내면 1.0 X 10^0 이기에, 지수부는 0+ bias(127)=127을 이진수로 나타내게 된다.
마지막으로 가수부는 소수점의 오른쪽으로 1.0에서는 0이기에 다0으로 표기하면 된다.
따라서 1.0 은
0 (부호부)01111111(지수부) 00000000000000000000000(가수부) 으로 나타낼 수 있다.
또한 심화 LMS에서 재귀함수에 대한 내용과 피보치킨 함수를 만들어보는 노드가 있었는데, 피보나치 수열 함수를 만드는데에는 성공했지만, 피보치킨은 만드는데 실패했다,, 파이썬 공부를 조금 더 한 후 함수를 만들어봐야겠다.
Unit 13. if 조건문으로 특정 조건일 때 코드 실행하기
Unit 14. else를 사용하여 두 방향으로 분기하기
Unit 15. elif를 사용하여 여러 방향으로 분기하기
이렇게 세 파트를 금일 진행하였다. LMS와 마찬가지로 기본적 문법이기에 알고 있던 내용이 대부분이었지만, 퍼실님께서 정리해주신 코드가 에러가 나는 경우를 많이 담고 있는것 같아서 새롭게 이해하기에 좋았던 것 같다.
Unit13에서는
if x == 10:
    pass    # TODO: x가 10일 때 처리가 필요함
이 코드를 보고 유용하겠다는 생각이 들었다. 코드를 평소 작성할때 위에서부터 쭉 주먹구구식으로 짜내려가는 감이 있었는데, 이렇게 pass를 통해 기본적인 틀을 생각해두고 나중에 TODO항목만 찾아서 코드를 작성해보면, 코드가 더 깔끔해질것 같다.
Unit 14과 15는 else와 elif에 대한 설명이었는데, 개인적으로 의사결정나무처럼 이해하면 될것 같다고 생각했다. 의사결정나무에서 한 집합은 하위 집합의 합집합으로 이루어져야 하기에, if집합 하나, elif집합, else집합으로 내가 원하는 조건을 세분화 하는것과 비슷한것 같다.
아침부터 뭔가 정신없이 파이썬만 만진것 같은데, 쉬는시간도 많았고, 내가 계속 코드를 치는 하루여서 어제보다는 덜 힘들었던것 같다!
아직은 대부분 아는 내용이어서 큰 부담은 없지만, 1월부터 DL을 본격적으로 시작하는데, 그전에 LMS와 풀잎스쿨을 통해서 제대로 파이썬 복습을 하고 넘어가야겠다는 생각이 들었다. 매번 인공지능 이론만 듣고 코드를 직접 쳐보는데에 스스로의 두려움 같은게 컸는데 이번 기회를 통해서 한줄한줄 쳐보면서 코딩 실력을 늘려봐야겠다!