본문 바로가기
반응형

Python29

파이썬 복습 Preface 오늘은 본격적으로 공부를 다시 시작하기 전 그동안 배웠던 내용들을 다시 떠올리고 감을 찾기 위해 파이썬의 기본 문법들을 전체적으로 복습했다. 두 달만에 다시 하는 공부라 기억이 하나도 나지 않을까봐 걱정했지만, 업로드했던 글들을 보며 코드를 다시 작성해보니 대부분의 내용들이 금방 떠올랐다. 아쉬운 점이 참 많은 지난 한 해였지만 모두 내가 선택하여 자초한 일들이니 지나간 날을 후회할 시간에 앞으로 어떻게 살아갈 것인지에 대해 고민하고 노력하자. 지금부터라도 조금씩 꾸준히 공부한다면, 작은 성취들이 쌓여 올해가 끝나갈 때 쯤엔 목표에 한 걸음 더 가까워질 수 있을 것이라 생각한다. 오늘 저녁엔 파이썬 연습문제들을 풀어 본 후 내일부턴 다시 자료구조와 알고리즘을 공부할 계획이다. 2022. 1. 1.
파이썬 기초 마무리 Preface 종합 문제를 풀며 멘탈이 흔들렸던 이후 오랜만에 글을 올린다. 추석 연휴가 있던 지난 한 주 간 가족과 친척들을 만났고, 친구들과도 많은 시간을 보냈다. 아무 생각 없이 푹 쉬고 나니 복잡했던 머릿속이 정리되고 공부에 대한 의욕도 다시 생긴 것 같다. 추석 연휴가 끝난 후엔 틈틈이 시간을 내서 지금까지 공부했던 파이썬 문법들을 전체적으로 복습했다. 처음 백지 상태로 파이썬 공부를 시작했을 땐 간단한 코드 한 줄 작성하는 것도 어려웠는데, 이제 대부분의 내용은 큰 어려움 없이 이해할 수 있게 되었다. 내일부턴 공부를 다시 시작하려 한다. 파이썬을 통해 자료구조와 알고리즘의 기초를 공부할 것이며, 중간중간 간단한 파이썬 문제들을 풀어보며 문제 해결력도 증진시킬 계획이다. 곧 중간고사 기간이라 .. 2021. 9. 26.
종합문제 (2) Preface 이번 문제를 끝으로 위키독스의 '점프 투 파이썬' 공부를 모두 마쳤다. 그동안 어려운 부분이 있어도 나름 재미있게 진도를 나갈 수 있었지만, 오늘 처음으로 문제를 풀며 자신감을 잃었다. 이전에 풀었던 문제들은 대부분 해설을 보지 않고 혼자 힘으로 해결할 수 있었는데, 이번 종합문제에 수록된 몇몇 문제들은 아무리 고민해봐도 도저히 해결 방법이 떠오르지 않아 손도 댈 수 없었다. 평소엔 항상 무엇이든 할 수 있다는 자신감을 갖고 공부에 임했지만, 혼자 힘으로 해결할 수 없는 상황이 닥치자 지난 한달 간의 노력이 물거품이 된 것 같고 의미없는 공부를 한 것 같다는 생각도 들었다. 그래도 포기는 하지 않을 생각이다. 처음 배우는 내용으로 한달만에 원하는 코드를 작성할 수 있다면 누구나 개발자가 될.. 2021. 9. 17.
종합문제 (1) Preface 오늘 다 풀어보려 했는데 머리가 너무 아프다... 나머지는...내일... 1. 다음과 같은 문자열이 있다. a:b:c:d 문자열의 split와 join 함수를 사용하여 위 문자열을 다음과 같이 고치시오. a#b#c#d → 답안 a = 'a:b:c:d' b = a.split(':') print('#'.join(b)) → 해설 : 답안과 동일 2. 다음은 딕셔너리의 a에서 'C'라는 key에 해당하는 value를 출력하는 프로그램이다. >>> a = {'A':90, 'B':80} >>> a['C'] Traceback (most recent call last): File "", line 1, in KeyError: 'C' 딕셔너리에는 'C'라는 key가 없으므로 위와 같은 오류가 발생한다. 'C.. 2021. 9. 16.
정규 표현식 (2) Preface 지난 포스팅에 이어 정규 표현식을 공부하며 이런 생각이 들었다. '정규 표현식은 길고 복잡한 코드를 보다 짧고 간결하게 만들어주기 위해 사용하는 것인데, 이를 본격적으로 사용하기 시작하면 오히려 코드가 복잡해져 가독성이 떨어지는 것 같다.' 물론 내가 아직 정규 표현식에 익숙치 않아 이렇게 느낄 수도 있겠지만, 아래 예제들만 보아도 여러 문자가 혼합되어 있어 한 눈에 알아보기 무척 힘들며, 무엇보다 파이썬의 장점인 직관성을 해친다고 생각한다. 숙련된 개발자들은 정규 표현식을 사용하여 길게 작성된 코드를 쉽게 알아볼 수 있을까? 1. 메타 문자 import re p = re.compile('Crow|Servo') m = p.match('CrowHello') print(m, '\n') # | .. 2021. 9. 14.
정규 표현식 (1) Preface 오늘은 정규 표현식의 기초를 공부했다. 아직 코드를 짜는 것도 쉽지 않은데, 정규 표현식을 사용하여 복잡한 코드를 간단하게 바꾸는 방법을 공부하다 보니 생각보다 머리가 아프고 복잡했다. 정규 표현식도 라이브러리와 마찬가지로 매번 사용하는 것이 아니므로, 주요한 몇 가지의 사용 방법만을 익힌 후 나머지는 필요할 때마다 문서를 찾아 코드에 적용하는 것이 좋을 것 같다. 1. 정규 표현식 시작하기 - [ ] : 문자 클래스 문자 클래스로 만들어진 정규식은 "[ ] 사이의 문자들과 매치"라는 의미를 갖는다. 문자 클래스를 만드는 메타 문자인 [ ] 사이에는 어떤 문자도 들어갈 수 있다. [ ] 안의 두 문자 사이에 하이픈(-)을 사용하면 두 문자 사이의 범위(From - To)를 의미한다. → [.. 2021. 9. 13.
간단한 코드 작성 Preface 개발 공부를 시작하며 블로그에 첫 글을 올린 날이 엊그제 같은데, 어느덧 100번 째 글을 작성하고 있다. 지난 4개월 간 나름 열심히 공부했다고 생각했지만, 시간이 지나고 돌아보니 조금 더 열심히 할 수 있었다는 아쉬움이 남는다. 소프트웨어의 기본적인 이론과 프로그래밍 언어의 기초 문법 부분을 대부분 익힌 지금부터라도 후회가 남지 않게 공부할 수 있도록 마음을 단단히 먹자. 마지막으로 여러 문서와 유튜브를 찾아봤지만, 아직도 sys 모듈의 사용 방법을 잘 모르겠다. 자주 쓰이는 모듈인 것 같아 정확한 이해가 필요할 것 같은데 어떻게 접근해야 할 지 고민이다. 1. 구구단 def GuGu(n): result = [] a = 1 while a < 10: result.append(a * n) .. 2021. 9. 12.
5장 연습문제 Preface 오늘은 클래스, 모듈, 내장 함수, 라이브러리 등과 관련된 연습문제를 풀어봤다. 대부분의 문제는 큰 어려움 없이 해결할 수 있었지만, 마지막 문제는 아무리 생각해봐도 해결 방법이 떠오르지 않아 일단은 해설에 있는 방식대로 코드를 작성했다. 글을 업로드한 후 조금 더 고민을 하여 내가 원하던 방식대로 코드를 다시 작성해 볼 것이다. 1. 다음은 Calculator 클래스이다. class Calculator: def __init__(self): self.value = 0 def add(self, val): self.value += val 위 클래스를 상속하는 UpgradeCalculator를 만들고 값을 뺄 수 있는 minus 메서드를 추가해 보자. 즉 다음과 같이 동작하는 클래스를 만들어야 .. 2021. 9. 9.
라이브러리 Preface 오늘 공부한 라이브러리를 끝으로 '점프 투 파이썬'에 소개된 파이썬의 기본적인 문법사항들을 모두 살펴보았다. 모든 것을 완벽히 이해하고 넘어가기보단, 전체적으로 훑어보며 프로그래밍에 익숙해지는 것을 주된 목표로 삼았던 탓인지 생각보다 금방 진도를 나갈 수 있었던 것 같다. 물론, 간단한 프로그래밍과 정규 표현식 등 아직 마치지 못한 문서의 내용들도 있고, 앞서 배운 문법들 중 이해도가 부족하여 복습이 필요한 부분도 많지만, 적어도 파이썬이란 언어를 사용하여 간단한 코드를 작성할 수 있게 되었다는 것만으로 절반은 성공했다고 생각한다. 이번 장의 연습문제까지 풀어본 이후엔 내장 함수와 라이브러리, 제어문 등 어려웠던 부분들을 충분히 복습한 후 남은 진도를 나갈 계획이다. 마지막으로 라이브러리는.. 2021. 9. 5.
내장 함수 Preface 오늘은 파이썬 자체에 내장되어 있어 import 없이 사용할 수 있는 다양한 함수들을 공부했다. 지금껏 코딩을 배우며 기본적인 내장 함수는 대부분 익혔으리라 생각하고 있었는데, 내가 생각지도 못했던 수많은 함수들이 소개되어 당황스러웠다. 이러한 함수들의 사용법을 모두 익히는 것은 사실상 불가능한 일이지만, 평소 유용하게 사용할 수 있는 몇가지 함수들은 반드시 익혀야겠다는 생각과 동시에, 필요한 함수들은 언제든 def를 통해 만들 수 있으니 크게 걱정할 필요가 없겠다는 생각도 들었다. 1. 내장 함수 1 # iterable은 반복 가능(iterable)한 자료형 여러 개를 입력할 수 있다는 의미이다. print(abs(3)) print(abs(-4)) print(abs(3.4)) print(.. 2021. 9. 3.