전체 글
-
Chapter 07-2 정규 표현식 시작하기_2Do it! 점프 투 파이썬 2022. 6. 9. 18:10
파이썬에서 정규 표현식을 지원하는 re 모듈 파이썬은 정규 표현식을 지원하기 위해 re(regular expression의 약어) 모듈을 제공한다. re 모듈은 파이썬을 설치할 때 자동으로 설치되는 기본 라이브러리로 사용 방법은 다음과 같다. >>> import re >>> p = re.compile('ab*') re.compile을 사용하여 정규 펴현식(위 예에서는 ab*)을 컴파일한다. re.compile의 결과로 돌려주는 객체 p(컴파일된 패턴 객체)를 사용하여 그 이후의 작업을 수행할 것이다. 정규식을 사용한 문자열 검색 이제 컴파일된 패턴 객체를 사용하여 문자열 검색을 수행해 보자. 컴파일된 패턴 객체는 다음과 같은 4가지 메서드를 제공한다. 메서드 목적 match() 문자열의 처음부터 정규식과..
-
Chapter 07-2 정규 표현식 시작하기_1Do it! 점프 투 파이썬 2022. 6. 9. 17:37
정규 표현식의 기초, 메타 문자 정규 표현식에서 사용하는 메타 문자(meta characters)에는 다음과 같은 것이 있다. . ^ $ * + ? { } [ ] \ | ( ) 정규 표현식에 위 메타 문자를 사용하면 특별한 의미를 갖게 된다. 자, 그러면 가장 간단한 정규 표현식부터 시작해 각 메타 문자의 의마와 사용법을 알아보자. 문자 클래스 [ ] 우리가 가장 먼저 살펴볼 메타 문자는 바로 문자 클래스(character class)인 [ ]이다. 문자 클래스로 만들어진 정규식은 '[ ] 사이의 문자들과 매치'라는 의미를 갖는다. 즉 정규 표현식이 [abc]라면 이 표현식의 의미는 'a, b, c 중 한 개의 문자와 매치'를 뜻한다. 이해를 돕기 위해 문자열 "a", "before", "dude"가 정..
-
Chapter 07-1 정규 표현식 알아보기Do it! 점프 투 파이썬 2022. 6. 9. 16:00
정규 표현식(Regular Expressions)은 복잡한 문자열을 처리할 때 사용하는 기법으로, 파이썬만의 고유 문법이 아니라 문자열을 처리하는 모든 곳에서 사용한다. 정규 표현식을 배우는 것은 파이썬을 배우는 것과는 또 다른 영역의 과제이다. 정규 표현식은 왜 필요한가? 다음과 같은 문제가 주어졌다고 가정해 보자. 주민등록번호를 포함하고 있는 텍스트가 있다. 이 텍스트에 포함된 모든 주민등록번호의 뒷자리를 * 문자로 변경해 보자. 우선 정규식을 전혀 모르면 다음과 같은 순서로 프로그램을 작성해야 할 것이다. 전체 텍스트를 공백 문자로 나눈다(split). 나뉜 단어가 주민등록번호 형식인지 조사한다. 단어가 주민등록번호 형식이라면 뒷자리를 *로 변환한다. 나뉜 단어를 다시 조립한다. 이를 구현한 코드는..
-
Chapter 06-5~06-6Do it! 점프 투 파이썬 2022. 6. 9. 01:04
탭을 4개의 공백으로 바꾸기 이번에는 문서 파일을 읽어서 그 문서 파일 안에 있는 탭(tab)을 공백(space) 4개로 바꾸어 주는 스크립트를 작성해 보자. 필요한 기능은? 문서 파일 읽어 들이기, 문자열 변경하기 입력받는 값은? 탭을 포함한 문서 파일 출력하는 값은? 탭이 공백으로 수정된 문서 파일 다음과 같은 형식으로 프로그램이 수행되도록 만들 것이다. python tabto4.py src dst tabto4.py는 우리가 작성해야 할 파이썬 프로그램 이름이고 src는 탭을 포함하고 있는 원본 파일 이름이다. dst는 파일 안의 탭을 공백 4개로 변환한 결과를 저장할 파일 이름이다. 예를 들어 a.txt 파일에 있는 탭을 4개의 공백으로 바꾸어 b.txt 파일에 저장하고 싶다면 다음과 같이 수행해야..
-
Chapter 06-2~06-4Do it! 점프 투 파이썬 2022. 6. 8. 23:03
3과 5의 배수 합하기 자, 다음 문제를 어떻게 풀면 좋을지 생각해 보자. 10 미만의 자연수에서 3과 5의 배수를 구하면 3, 5, 6, 9이다. 이들의 총합은 23이다. 1000 미만의 자연수에서 3의 배수와 5의 배수의 총합을 구하라. 입력받는 값은? 1부터 999까지(1000 미만의 자연수) 출력하는 값은? 3의 배수와 5의 배수의 총합 생각해 볼 것은? 하나. 3의 배수와 5의 배수는 어떻게 찾지? 둘. 3의 배수와 5의 배수가 겹칠 때는 어떻게 하지? 이 문제를 풀기 위한 중요 포인트는 두 가지이다. 한 가지는 1000 미만의 자연수를 구하는 방법이고 또 다른 한 가지는 3과 5의 배수를 구하는 것이다. 이 두가지만 해결되면 문제는 쉽게 해결될 것으로 보인다. 1. 먼저 1000 미만의 자연수..
-
Chapter 06-1 내가 프로그램을 만들 수 있을까?Do it! 점프 투 파이썬 2022. 6. 8. 21:49
프로그램을 막 시작하려는 사람이 맨 먼저 부딪히게 되는 벽은 아마도 다음과 같지 않을까? "문법도 어느 정도 알겠고, 책 내용도 대부분 이해된다. 하지만 이러한 지식을 바탕으로 내가 도대체 어떤 프로그램을 만들 수 있을까?" 이럴 때는 '어떤 프로그램을 짜야지'라는 생각보다는 다른 사람들이 만든 프로그램 파일을 자세히 들여다보고 분석하는 데서 시작하는 것이 좋다. 그러다 보면 다른 사람들의 생각도 읽을 수 있고 거기에 더해 뭔가 새로운 아이디어가 떠오를 수도 있다. 하지만 여기에서 가장 중요한 것은 자신의 수준에 맞는 소스를 찾는 일이다. 그래서 이 장에서는 아주 쉬운 예제부터 시작해서 차츰 수준을 높여 실용적인 예제까지 다루려고 노력하였다. 배운 내용을 어떻게 활용하는가는 독자의 몫이다. 필자는 예전에..
-
Chapter 05-6 라이브러리Do it! 점프 투 파이썬 2022. 6. 7. 22:34
이제 파이썬 프로그래밍 능력을 높여 줄 더 큰 날개를 달아 보자. 전 세계의 파이썬 사용자들이 만든 유용한 프로그램을 모아 놓은 것이 바로 파이썬 라이브러리이다. '라이브러리(library)'는 '도서관'이라는 뜻 그대로 원하는 정보를 찾아보는 곳이다. 모든 라이브러리를 다 알 필요는 없고 어떤 일을 할 때 어떤 라이브러리가 존재하고 어떻게 사용하는지 알아야 한다. 자주 사용되고 꼭 알아 두면 좋은 라이브러리를 중심으로 하나씩 살펴보자. sys sys 모듈은 파이썬 인터프리터가 제공하는 변수와 함수를 직접 제어할 수 있게 해주는 모듈이다. 명령 행에서 인수 전달하기 - sys.argv C:/User/home>python test.py abc pey guido 명령 프롬프트 창에서 위 예처럼 test.py..
-
Chapter 05-5 내장 함수Do it! 점프 투 파이썬 2022. 6. 7. 20:48
지금까지 파이썬으로 프로그래밍하기 위해 알아야 하는 것들을 대부분 공부했다. 이제 여러분은 원하는 프로그램을 직접 만들 수 있을 것이다. 하지만 그 전에 먼저 여러분이 만들려는 프로그램이 이미 만들어져 있는지 살펴보기 바란다. 물론 공부를 위해서라면 누군가 만들어 놓은 프로그램을 또 만들 수도 있다. 하지만 그런 목적이 아니라면 이미 만들어진 것을 다시 만드는 것은 불필요한 행동이다. 그리고 이미 만들어진 프로그램은 테스트 과정을 수 없이 거쳤기 때문에 충분히 검증되어 있다. 따라서 무엇인가 새로운 프로그램을 만들기 전에는 이미 만들어진 것들, 그중에서도 특히 파이썬 배포본에 함께 들어 있는 파이썬 라이브러리를 살펴보는 것이 매우 중요하다. 라이브러리를 살펴보기 전에 파이썬 내장 함수를 먼저 살펴보자. ..