코딩공부/점프 투 파이썬 35

## 점프 투 파이썬 - 정규 표현식 시작하기 ( 3 )

## 점프 투 파이썬 - 정규 표현식 시작하기 출처 : https://wikidocs.net/4308 # match 객체의 메서드 method 목적 group() 매치된 문자열을 돌려준다. start() 매치된 문자열의 시작 위치를 돌려준다. end() 매치된 문자열의 끝 위치를 돌려준다. span() 매치된 문자열의 (시작, 끝)에 해당하는 튜플을 돌려준다. ex) m = p.match("python") m.group() >>> 'python' m.start() >>> 0 m.end() >>> 6 m.span() >>> (0, 6) match 객체의 start()의 결괏값은 항상 문자열의 시작부터 조사하기 때문에 0이다. # search 메서드 사용 ex) m = p.search("3 python") ..

## 점프 투 파이썬 - 정규 표현식 시작하기 ( 2 )

## 점프 투 파이썬 - 정규 표현식 시작하기 ( 2 ) 출처 : https://wikidocs.net/4308 # 파이썬에서 정규 표현식을 지원하는 re 모듈 re(regular expression) 모듈은 자동으로 설치되는 기본 라이브러리이며 정규 표현식을 지원하기 위해 만들어 졌다. import re p = re.compile('ab*') re.compile를 사용하여 정규 표현식을 컴파일한다. re.compile의 결과로 돌려주는 객체 p(컴파일된 패턴 객체)를 사용하여 그 이후의 작업을 수행 ※ 정규식을 컴파일할 때 특정 옵션을 주는 것도 가능한데, 이에 대해서는 뒤에서 자세히 살펴본다. ※ 패턴이란 정규식을 컴파일한 결과이다. # 정규식을 이용한 문자열 검색 Method 목적 match() 문..

## 점프 투 파이썬 - 정규 표현식 시작하기 ( 1 )

## 점프 투 파이썬 - 정규 표현식 시작하기 출처 : https://wikidocs.net/4308 # 정규 표현식의 기초, 메타 문자 . ^ $ * + ? { } [ ] \ | ( ) - 메타 문자란 원래 그 문자가 가진 뜻이 아닌 특별한 용도로 사용하는 문자. - 위 메타 문자를 사용하면 특별한 의미를 갖게 된다. # 문자 클래스 [ ] "[ ] 사이의 문자들과 매치" 정규 표현식이 [abc]라면 "a, b, c 중 한 개의 문자와 매치" - "a"는 정규식과 일치하는 문자인 "a"가 있으므로 매치 - "before"는 정규식과 일치하는 문자인 "b"가 있으므로 매치 - "dude"는 정규식과 일치하는 문자가 없으므로 매치되지 않음 # 하이픈( - )의 사용 - [a-zA-z] : a~z와 A부터 ..

## 점프 투 파이썬 - 정규 표현식 살펴보기

## 점프 투 파이썬 - 정규 표현식 살펴보기 출처 : https://wikidocs.net/1642 # 정규 표현식이란? Regular Expressions은 복잡한 문자열을 처리할때 사용하는 기법으로, 문자열을 처리하는 모든곳에서 사용한다. # 정규식이 필요한 이유 Ex) 주민등록번호를 포함하고 있는 텍스트가 있다. 이 텍스트에 포함된 모든 주민등록번호의 뒷자리를 * 문자로 변경해 보자. 정규식이 없다면 1. 텍스트를 공백으로 나눈다. 2. 주민등록 번호의 형식인지 조사 ( xxxxxx-xxxxxxx ) 3. 뒷자리를 *로 변환 data = """ park 800905-1049118 kim 700905-1059119 """ result = [] for line in data.split("\n"): w..

## 점프 투 파이썬 - 정규 표현식 살펴보기

## 점프 투 파이썬 - 정규 표현식 살펴보기 # 정규 표현식이란? Regular Expressions은 복잡한 문자열을 처리할때 사용하는 기법으로, 문자열을 처리하는 모든곳에서 사용한다. # 정규식이 필요한 이유 Ex) 주민등록번호를 포함하고 있는 텍스트가 있다. 이 텍스트에 포함된 모든 주민등록번호의 뒷자리를 * 문자로 변경해 보자. 정규식이 없다면 1. 텍스트를 공백으로 나눈다. 2. 주민등록 번호의 형식인지 조사 ( xxxxxx-xxxxxxx ) 3. 뒷자리를 *로 변환 data = """ park 800905-1049118 kim 700905-1059119 """ result = [] for line in data.split("\n"): word_result = [] for word in lin..

## 점프 투 파이썬 - 5장 연습문제 ( 2 )

## 점프 투 파이썬 - 5장 연습문제 ( 2 ) 출처 : https://wikidocs.net/42529 # Q7. 다음 리스트의 최댓값과 최솟값의 합을 구해 보자. [-8, 2, 7, 5, -3, 5, 0, 1] # 풀이 a = [-8, 2, 7, 5, -3, 5, 0, 1] max(a) + min(a) >>> -1 max함수 사용 # Q8. 17 / 3의 결과는 다음과 같다. 17 / 3 = 5.666666666666667 소숫점 4자리까지만 반올림하여 표시해 보자. # 풀이 round(17/3, 4) >>> 5.6667 round 함수 사용 # Q9. 다음과 같이 실행할 때 입력값을 모두 더하여 출력하는 스크립트(C:\doit\myargv.py)를 작성해 보자. C:\> cd doit C:\doi..

## 점프 투 파이썬 - 5장 연습문제 ( 1 )

## 점프 투 파이썬 - 5장 연습문제 ( 1 ) 출처 : https://wikidocs.net/42529 # Q1. Calculator 클래스를 상속하는 UpgradeCalculator를 만들고 값을 뺄 수 있는 minus 메서드를 추가해 보자. 즉 다음과 같이 동작하는 클래스를 만들어야 한다. class Calculator: def __init__(self): self.value = 0 def add(self, val): self.value += val ----------------------------- cal = UpgradeCalculator() cal.add(10) cal.minus(7) print(cal.value) # 10에서 7을 뺀 3을 출력 # 풀이 class UpgradeCalcul..

## 점프 투 파이썬 - 하위 디렉터리 검색하기

## 점프 투 파이썬 - 하위 디렉터리 검색하기 # 특정 디렉터리부터 하위 모든 파일 중 *.py파일을 출력해주는 프로그램을 만들어 보자. 1. sub_dir_search.py 파일 생성 # C:/doit/sub_dir_search.py def search(dirname): print (dirname) search("c:/") search는 시작 디렉터리를 입력받는다. 2. 파일 검색 # C:/doit/sub_dir_search.py import os def search(dirname): filenames = os.listdir(dirname) for filename in filenames: full_filename = os.path.join(dirname, filename) print (full_fil..

## 점프 투 파이썬 - 탭을 4개의 공백으로 바꾸기

## 점프 투 파이썬 - 탭을 4개의 공백으로 바꾸기 # 문서 파일을 읽어 파일 안에 있는 탭(tab)을 공백(space) 4개로 바꾸게 만들기 # 기능 파일을 읽어야 한다. 문자열을 변경해야한다. # 입력 탭을 포함한 문사파일을 입력받는다. # 출력 탭이 공백으로 수정된 문서 # python tabto4.py src dst tabto4.py는 파이썬 프로그램 이름이다. src는 탭을 포함한 원본 파일이며 dst는 변환한 파일이다. 1. tabto4.py 파일 생성 # c:/doit/tabto4.py import sys # sys.argv를 사용하여 입력값 확인 src = sys.argv[1] dst = sys.argv[2] print(src) print(dst) 2. 정상 출력 확인 C:\doit>py..

## 점프 투 파이썬 - 간단한 메모장 만들기

## 점프 투 파이썬 - 간단한 메모장 만들기 출처 : https://wikidocs.net/36 위키독스 온라인 책을 제작 공유하는 플랫폼 서비스 wikidocs.net # 원하는 메모를 파일에 저장하고 추가 및 조회가 가능한 간단한 메모장을 만들기 # 점프 투 파이썬을 보며 실행한 내용 노트 정리 # 설계 필요한 기능 - 메모 추가하기, 메모 조회하기 입력 받는 값은 - 메모 내용, 프로그램 실행 옵션 출력하는 값은 - memo.txt 1. 입력 받은 옵션과 메모를 출력하기 # C:/doit/memo.py import sys option = sys.argv[1] memo = sys.argv[2] print(option) print(memo) sys.argv를 이용해 입력된 값을 읽어온다. sys.ar..