본문 바로가기

Python13

2024.01.17 (수) 클로저, 데코레이터, 이터레이터, 제너레이터, args, kwargs, nonlocal 오늘은 함수의 심화버전으로 다양한 개념을 배웠는데 함수심화, 클로저, 데코레이터, 이터레이터, 제너레이터, args, kwargs, nonlocal 등을 배우는 시간을 가졌다. 먼저 클로저를 알아보기 전 알고 있어야 하는 일급함수와 고차함수를 한 문장으로 정리해 보았다. 위의 개념들을 떠올려 보면서 클로저 학습을 시작하였다. 1. 클로저 클로저는 파이썬에만 있는 개념이 아니라 다른 프로그래밍 언어에서도 중요한 프로그래밍 개념으로, 함수 내 함수가 외부 변수를 참조하여 보존하는 것을 얘기합니다. 아래 예시로 클로저를 알아보겠습니다. 지역변수 내에 count가 없기에 error가 난다. make_counter 이라는 함수안의 변수인 count 를 함수 counter안에서도 변수로 활용하고 있다. 외부 함수의.. 2024. 1. 17.
2024.01.16 (화) 함수, 메서드 체이닝, 일급함수 오늘은 함수에 대해서 배웠다. 대표적인 내용으로 메서드 체이닝, 일급함수, 여러개의 값 반환하는 법, 재귀함수 등을 알아보았고 지금 부터 오늘 배운 내용을 적어보겠다. 앞서 코딩을 하면서 앞으로 많이 사용하는 datetime에 대해서 간략하게 적어보려고한다. datetime.now()를 통하여 현재 년-월-일 을 불러 올 수 있고 이것을 가공하여 잘 활용한다면 앞으로 유용하게 사용할 것이다. 1. 메서드 체이닝 메서드 체이닝은 여러 메서드 호출을 연결하여 코드를 더 간결하고 읽기 쉽게 만드는 기술입니다. 한 객체의 메서드를 호출한 후 반환된 결과를 사용하여 다른 메서드를 계속 호출하는 방식으로, 코드를 간결하게 작성할 수 있습니다. class 에 메서드 체이닝을 접목하여 작성한 코드 2. 일급 함수 (F.. 2024. 1. 16.
2024.01.15 (월) class 심화 오늘도 class라는 어려운 개념을 익숙해지고 이해하기 위해 실습을 하면서 개념을 복습했다. 여러번 반복하다 보니 어느정도 class와 인스턴스의 차이와 코드를 만들어 나가는 과정을 조금은 알 것 같은 느낌이다. 먼저 실습을 하면서 알고 있으면 자주 쓰는 datetime 에 대해서 간략하게 배웠다. 출력값만 보아도 자주 사용할 것 같은 느낌이 팍팍와서 기억해 놓았다. class 실습을 하면서 첫 번째로 진행한 것은 User 라는 주제이다 모든곳에서 공유해야 될 변수를 class로, 안에서 공유해야할 변수를 인스턴스로 구분을 하면서 익숙해지려고 노력했다. 또한 아래 보이는 password 같은 경우는 앞으로 항상 보안이나 유출에 있어서 신경을 써야하는 부분임을 배웠다. 강사님 께서 위의 코드를 더 깔끔하고.. 2024. 1. 15.
2024.01.12 (금) class 심화, 크롤링, html 오늘은 어제에 이어 class를 이어서 공부했다. 실제 코드들을 작성해보면서 class를 왜 사용해야하는지 이해하려고 하였다. 또한 그 과정에서 간단한 크롤링과 html을 활용하여 페이지를 만들어 보는 경험을 하였다. 1. 클래스를 왜 써야 하는가? 1.1 속도 - 때로는 기본적으로 제공하는 자료형으로 해결할 수 없는 많은 시간이 걸리는 문제를 만나곤 합니다. 그럴 때에는 클래스를 사용하여 구조적으로 다시 설계할 수 있습니다. 사용하는 변수외 메서드를 최소화하여 메모리 구조를 최적화하고, 구조적으로 빠른 속도를 실현하게 구현할 수 있습니다. 아래는 기본 자료형인 리스트와 클래스로 구현한 트리 형태의 검색 예 입니다. 리스트에서 index로 값을 찾는 것은 O(n)입니다. 아래 리스트에서 15를 찾는다고 .. 2024. 1. 12.