일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 중학수학
- 자바
- 중학1-1
- 자바스크립트심화
- 개발일기
- 상속
- JSP/Servlet
- 디버깅
- SQL
- 자바스크립트
- 데이터분석
- JSP
- 타입스크립트심화
- 데이터베이스
- ChatGPT
- rnn
- 혼공머신
- 순환신경망
- 쇼핑몰홈페이지제작
- 연습문제
- 딥러닝
- 자바 실습
- html/css
- 정보처리기사필기
- 정보처리기사실기
- 파이썬
- 머신러닝
- 스프링프레임워크
- JDBC
- 컴퓨터비전
- Today
- Total
목록프로그래밍 언어/파이썬 (130)
클라이언트/ 서버/ 엔지니어 "게임 개발자"를 향한 매일의 공부일지
이제 이터레이터와 제너레이터에 대해 학습해 볼 것이다. 다음과 같은 예제를 살펴보자. 이렇게 for 문과 같은 반복 구문에 적용할 수 있는 리스트와 같은 객체를 '반복 가능 객체'라고 한다. 이터레이터란?이터레이터는 next 함수 호출 시 계속 그다음 값을 리턴하는 객체이다. 리스트는 반복 가능하다. 그렇다면 리스트는 이터레이터일까? 다음을 확인해 보자. 리스트는 이터레이터 객체가 아니라는 오류가 발생한다. 즉, 반복 가능하다고 해서 이터레이터는 아니라는 것이다. 하지만 반복 가능하다면 다음과 같이 iter 함수를 이용해 이터레이터로 만들 수 있다. 리스트를 이터레이터로 변경했으므로 next 함수를 호출해볼 것이다. next 함 수를 호출할 때마다 이터레이터 객체의 요소를 차례대로 리턴하는 것을..
데코레이터를 이해하려면 먼저 클로저를 알아야 한다. 클로저를 먼저 알아보고 데코레이터를 살펴볼 것이다. 클로저란?클로저란 간단히 말해 함수 안에 내부 함수를 구현하고 그 내부 함수를 리턴하는 함수를 말한다. 이때 외부 함수는 자신이 가진 변수값 등을 내부 함수에 전달할 수 있다. 다음 예제를 통해 확인해 보자.어떤 수에 항상 3을 곱해 리턴하는 함수를 생각해 보자. mul3() 함수는 입력으로 받은 수 n에 항상 3을 곱하여 리턴한다. 이번에는 항상 5를 곱하여 리턴하는 함수를 생각해보자. 하지만 이렇게 필요할 때마다 mul6(), mul(7), ...과 같은 함수를 만드는 것은 매우 비효율적이다. 이 문제를 해결하려면 다음과 같은 클래스를 사용하면 된다. 클래스를 이용해 특정 값을 미리 설..
간단한 프로그램이라면 파이썬 표준 라이브러리를 사용하겠지만, 그 가운데 몇 가지는 앞에서 배우지 않은 고급 개념을 미리 알아야만 이해할 수 있다. 이 내용은 조금 어렵지만 깊이 있는 파이썬 프로그램을 작성하고 싶고 싶다면 꼭 알아야 할 것 같다. 최초의 문자 셋, 아스키코드최초의 컴퓨터가 발명되었을 때 문자를 처리하고자 컴퓨터마다 각각의 문자 셋을 정해놓고 문자를 처리하기 시작했다. 하지만 컴퓨터마다 각각의 문자 셋을 사용했더니 데이터 호환이 안 되는 문제가 발생했다. 이런 문제를 해결하고자 미국에서 최초로 문자 셋 표준인 아스키(ASKII)가 탄생하게 된다. 아스키라는 문자 셋 규칙을 정하고 이 규칙대로만 문자를 만들면 기종이 다른 컴퓨터 사이에도 문제없이 데이터를 주고받을 수 있었다.하지만 아스..
이제 6장의 마지막 단원이다. 하위 디렉터리 검색하기 트정 디렉터리부터 시작해서 그 하위(디렉터리 포함)의 모든 파일 중 파이썬 파일만 출력해 주는 프로그램을 만들려면 어떻게 해야 할까? 1. 다음과 같이 파일을 작성한다. search 함수를 만들고 시작 디렉터리를 입력받도록 코드를 작성했다. 2. 이 디렉터리에 있는 파 일을 검색할 수 있도록 소스를 변경한다.os.listdir를 사용하면 해당 디렉터리에 있는 파일의 리스트를 구할 수 있다. 여기에서 구하는 파일 리스트는 파일 이름만 포함되어 있으므로 경로를 포함한 파일 이름을 구하기 위해서는 입력으로 받은 dirname을 앞에 붙여주어야 한다. os 모듈에는 디렉터리와 파일 이름을 이어주는 os.paht.join 함 수가 있으므로 이 함수..
오늘은 파이썬 공부를 해보고 싶다. 간단한 메모장 만들기원하는 메모를 파일에 저장하고 추가 및 조회가 가능한 간단한 메모장을 만들어본다. 가장 먼저 해야 할 일은 메모를 추가하는 것이다. 1. 먼저 다음과 같이 입력으로 받은 옵션과 메모를 출력하는 코드를 에디터로 작성해 본다. sys.argv는 프로그램을 실행할 때 입력된 값을 읽어 들일 수 있는 파이썬 라이브러리이다. sys.argv[0]은 입력받은 값 중에서 파이썬 프로그램 이름인 memo.py이므로 우리가 만들려는 기능에는 필요 없는 값이다. 그리고 순서대로 sys.argv[1]은 프로그램 실행 옵션이 되고 sys.argv[2]는 메모 내용이 된다. 2. 이제 다음 명령을 실행해 본다. -a는 이 프로그램의 실행 옵션이고 "Life i..
저녁식사를 하고 조금 놀다가 8시가 넘어서 공부를 다시 시작해 본다. 파이썬 프로그래밍 오랜만에 해보는데 정말 재미있다. 3과 5의 배수를 모두 더하기다음 문제를 어떻게 풀면 좋을지 생각해보자. 이 문제를 풀기 위한 중요 포인트는 2가지다.1000 미만의 자연수를 구하는 방법3과 5의 배수를 구하는 것이 두 가지만 해결되면 문제는 쉽게 풀릴 것이다. 1. 먼저 1000 미만의 자연수는 어떻게 구할지 생각해 본다. 변수에 초기값을 준 후 루프를 돌리며 1씩 증가시켜서 999까지 진행하는 방법이 가장 일반적이다. 또는 range 함수를 사용할 수도 있다. 2. 1000까지의 자연수를 차례로 구하는 방법은 알았으므로 3과 5의 배수를 구하는 방법을 생각해 보자. 이 방식으로 5의 배수도 추가할 수 ..
지난번에 파이썬 공부를 하다 말았는데 오늘부터 나머지 학습을 진행해 보기로 했다. 낮에 파이썬 라이브러리 관련 책도 하나 주문했다. 인공지능을 하려면 파이썬을 잘 알아야 한다. 하지만 난 파이썬에 대한 기초 정도만 알고 응용은 잘하지 못하는 것 같아 공부의 필요성을 느꼈다.빠르게 진도를 빼는 것보다 제대로 알고 익혀서 프로그램에 활용할 수 있어야 한다. 여기서부터는 파이썬은 응용하는 부분이니 좀더 재미있게 학습해 보기로 하자. 내가 프로그램을 만들 수 있을까?문법은 어느 정 도 알겠고, 책 내용도 대부분 이해된다.하지만 이러한 지식을 바탕으로 내가 도대체 어떤 프로그램을 만들 수 있을까?이럴 때는 '어떤 프로그램을 짜야지'라는 생각보다는 다른 사람이 만든 프로그램 파일을 자세히 들여다보고 분석하는 데..
굉장히 어려운 미션 문제가 하나 남아있다. 지난번에도 풀지 못했던 문제라 과연 풀 수 있을지 의문이 들지만 다시 한번 도전해볼 것이다. 지금까지 푼 문제 중에서 마음 먹고 풀었을 때 풀지 못한 문제는 거의 없었다.이제 내일부터는 진짜 영상도 끊고 공부에만 집중하기로 다짐의 다짐을 했다. 우선 5일 동안의 약속부터 지키기로 했다. 인스턴트 음식과 영상을 완전히 끊기로 말이다. 아직 12시가 되지 않아서 오늘까지는 실컷 보았지만 이제 내일부터는 절대 안된다. 그리고 100일 동안 결심을 지킨 후에 내 삶이 어떻게 달라지는지 그 변화를 기록해볼 생각이다. 미션 문제 풀기smart_home 파일 main 파일 변수 이름의 오타를 수정했다. none 대신에 섭씨 온도와 화씨 온도를 가져와서 저장했다..
이제 파이썬 응용 과목의 마지막 단원이다. 조금 잠이 오지만 몇 개의 문제만 풀어보려고 한다. 책으로 학습을 잘 했는지 여기에 나오는 문제들이 하나도 어렵지 않고 오히려 쉽게 느껴진다.이 공부만 마치면 이제 새로운 과목을 공부할 수 있을 것 같다. 뭐든 일주일 이상 지속하면 난 조금 질리고 새로운 변화가 필요함을 느낀다. 실습 문제 풀어보기 원래 문제에는 출력하는 기능이 없었지만 한번 만들어 보았다. 미션 문제 풀기 학습을 마치고여기까지 해서 파이썬 응용의 모든 공부를 다 마쳤다. 정말 오후 시간 전까지 목표를 달성해서 무척 뿌듯하다. 중간에 낮잠을 1시간 넘게 잤지만 말이다.저녁에는 지난번에 공부하다 만 디버깅 입문 공부를 해볼까 한다. 그리고 numpy/..
모듈과 패키지 단원이 시작되었다. 정말 재미있는 학습이 될 거라 기대해본다. 오늘은 공부를 할 때 영상을 가능하면 끄고 하려고 노력 중이다. 어제는 좋아하는 드라마를 보면서 파이썬 공부를 진행했었다. 실습 문제 풀기먼저 cal이라는 이름으로 모듈을 하나 만들어서 추가해주었다. 미션 문제 풀기 학습을 마치고 모듈과 패키지 단원도 별로 어렵지 않았다. 처음에는 무척 어렵게 느껴지던 부분도 다시 공부해보면 이해하는데 별로 많은 시간이 걸리지 않고 충분히 풀 수 있게 된다.이제 딱 한 단원이 남아있다. 마지막까지 최선을 다해보자.