일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 혼공머신
- 자바
- 중학수학
- 영어공부
- 컴퓨터비전
- 중학1-1
- 연습문제
- 머신러닝
- 운영체제
- C++
- html/css
- JSP/Servlet
- 데이터베이스
- 정보처리기사실기
- 텍스트마이닝
- 파이썬
- 데이터분석
- SQL
- 파이썬라이브러리
- 정보처리기사필기
- 컴퓨터구조
- 정수와유리수
- 딥러닝
- 자바 실습
- 데이터입출력구현
- CSS
- numpy/pandas
- 코딩테스트
- CNN
- pandas
- Today
- Total
목록전체 글 (1255)
클라이언트/ 서버/ 엔지니어 "게임 개발자"를 향한 매일의 공부일지
바이너리(이진) 데이터는 두 가지 상태만으로 나타내는 데이터로, 일반적으로 이진법에서는 0과 1로 두 상태를 표현한다. 이번 단원에서는 파이썬에서 C 구조체 바이러리 데이터를 사용하도록 하는 struct 모듈을 알아볼 것이다. C로 만든 데이터를 출력하려면? - structstruct는 C 언어로 만든 구조체 이진 데이터를 처리할 때 활용하는 모듈이다. C 구조체로 만들어진 파일을 읽거나 네트워크로 전달되는 C 구조체 이진 바이트를 파이썬에서 처리할 때 주로 사용한다.다음은 구조체 데이터를 output 파일에 저장하는 C 프로그램으로, save_type은 double형 1개, int형 1개, char형 1개로 이루어진 구조체다. 이렇게 만들어진 바이너리 구조체 데이터(output 파일)를 파이썬으로..
오늘부터 파이썬 라이브러리를 3일 동안 학습해 볼 것이다. 오후에 책에 왔는데 오후에는 계속 놀고 쉬다가 이제 공부를 시작해보려고 한다. 이 책에는 총 122개의 라이브러리를 소개하고 있고 분량도 정말 많다. 하지만 1장부터 차근차근 공부해 보며 파이썬 프로그램에 적용해 볼 수 있는 실력을 갖출 것이다.파이썬은 텍스트 처리에 강한 언어이다. 문자열 자료형만 해도 강력하지만 이를 더 강력하게 하는 다양한 라이브러리도 있다. 문자열을 줄여 표시하려면? - textwrap.shortentextwrap.shorten()은 문자열을 원하는 길이에 맞게 줄여 표시할 때 사용하는 함수이다. 때로는 제목이나 내용 미리 보기가 너무 길어 줄여 표시했으면 할 때가 있다. 단 15자가 넘지 않을 때는 그대로 표시하..
정규 표현식에서는 메타 문자를 사용한다. 먼저 메타 문자가 무엇인지 알아보자. 정규 표현식의 기초, 메타 문자메타 문자란 원래 그 문자가 가진 뜻이 아니라 특별한 의미를 가진 문자를 말한다. 정규 표현식에 다음과 같은 메타 문자를 사용하면 특별한 의미를 갖게 된다.. ^ $ * ? { } [ ] \ | () 가장 간단한 정규 표현식부터 시작해 각 메타 문자의 의미와 사용법을 알아보기로 하자. [ ] 문자 - 문자 클래스문자 클래스로 만들어진 정규식은 [ 와 ] 사이의 문자들과 매치한다는 의미를 갖는다. 즉, 정규 표현식이 [abc]라면 이 표현식의 의미는 'a, b, c 중 한 개의 문자와 매치'를 뜻한다.[ ] 안의 두 문자 사이에 하이픈(-)을 사용하면 두 문자 사이의 범위를 의미한다. 예를 ..
정규 표현식은 개발자라도 잘 모를 수 있는 주제라 처음 파이썬을 배우는 사람에게는 어울리지 않을 수도 있다. 하지만 정규 표현식을 익히면 매우 달콤한 열매를 맛볼 수 있다. 하지만 정규 표현식을 잘 다르게 되면 유용한 쓰임새가 있을 것 같다.정규 표현식은 복잡한 문자열을 처리할 때 사용하는 기법으로, 파이썬만의 고유한 문자열을 처리하는 모든 곳에서 사용하는 일종의 형식 언어이다. 정규 표현식은 왜 필요한가?다음과 같은 문제가 주어졌다고 가정해 보자.주민등록번호를 포함하고 있는 텍스트가 있다. 이 텍스트에 포함된 모든 주민등록번호의 뒷자리를 * 문자로 변경해 보자. 먼저 정규 표현식을 전혀 모르면 다음과 같은 순서로 프로그램을 작성해야 할 것이다.전체 텍스트를 공백 문자로 나눈다(split).나뉜 단어..
파이썬 3.5 버전부터 변수와 함께 함수에 타입을 지정할 수 있는 타입 어노테이션 기능이 추가되었다. 동적 언어와 정적 언어a 변수에 숫자 1을 대입하고 type 함수를 실행해 보자. a 변수의 타입은 int형이다. 변수에 문자열 "1"을 대입하고 실행해 보자. a의 변수 타입이 str형으로 바뀌었다. 이렇게 프로그램 실행 중에 변수의 타입을 동적으로 바꿀 수 있으므로 파이썬을 동적 프로그래밍 언어라고 한다.파이썬과 달리 자바는 정수형 변수 a에 숫자 1을 대입하고 다시 문자열 "1"을 대입하려 할 때 컴파일 오류가 발생한다. 자바는 한 번 변수에 타입을 지정하면 지정한 타입 외에 다른 타입은 사용할 수 없으므로 정적 프로그래밍 언어라고 한다. 동적 언어의 장단점파이썬과 같은 동적 언어는 타입..
이제 이터레이터와 제너레이터에 대해 학습해 볼 것이다. 다음과 같은 예제를 살펴보자. 이렇게 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..