Python 16

파이썬 파일 읽기와 쓰기

이번에 다룰 주제는 파일의 내용을 읽어드리거나, 파일에 데이터를 기록하는 작업입니다. 프로그램이 실행되는 동안에 사 용되는 변수는 프로그램을 종료하면 사라져 버리기 때문에 프로그램이 끝난 후에도 데이터를 유지하려면 파일에 저장해야 합니다.파이썬에서 파일 읽기와 쓰기를 하려면 os 모듈을 사용해야 합니다. Windows 에서 파일과 폴더의 구분은 구분기호는 백 슬래시(\)를 사용하여 작성됩니다. 폴더나 파일명의 문자열 값을 개별적으로 전달해 주려면 os.path.join()을 사용해서 작성됩니다.>>> import os >>> os.path.join('Users', 'Viper', 'Appdata') 'Users\\Viper\\Appdata' >>>위에서 백슬래쉬(\) 문자가 연속으로 2개가 있는 것을 주..

Python 2024.12.26

파이썬 메일주소 추출하기

이번에는 두번에 걸쳐 다룬 정규식을 이용해서 메일주소를 추출하는 프로그램을 만들어 보도록 하겠습니다. 이걸 응용하 면 웹사이트에 나와 있는 사업자 번호라든지, 전화번호등 여러가지 정보를 추출하는 것으로도 확장을 할 수 있습니다. 노파심에서 언급 드리자면 여기에서 다루는 메일주소를 추출하는 방법을 배우셔서 테스트까지 하시는 것은 문제가 없지만 이걸 이용해서 실제로 웹사이트의 메일주소를 수집해서 db에 저장하거나, 상업적으로 이용하면 1천만원 이하의 벌금에 처해질 수 있으니 악용해서 사용하시면 안된다는 점을 언급드리겠습니다. (정보통신망법 위반)이 프로그램의 작동 방식은 웹페이지나 워드문서, 엑셀 파일 등에서 메일주소가 포함된 문서를 클립보드에 복사한 다음, 클립보드에 있는 메일주소만 출력하게 해주는 방법을..

Python 2024.12.26

파이썬 정규식 02

이전 포스팅에 이어서 정규식에 대한 내용을 좀 더 심화 학습해 보기로 하겠습니다. Greedy vs NonGreedyGreedy, NonGreedy 라는 말 부터가 어려운데 Greedy는 탐욕스러운 수집가, NonGreedy는 탐욕적이지 않고 소박한 수 집가 정도로 생각하시는 게 좋습니다. Greedy를 사용하는 연산자는 별표(*)와 플러스(+)가 있고, NonGreedy를 사용하 는 연산자는 물음표가 있습니다. Greedy 방식으로 자료를 수집하게 되면 탐욕적이기 때문에 최대한 반복해서 자료를 수 집하게 되고, NonGreedy 방식으로 자료를 수집하게 되면 최소 반복을 통해서 자료를 수집하게 됩니다.>>>import re >>> char = re.compile(r'(0){4,8}') # Greedy ..

Python 2024.12.21

파이썬 정규식 01

이번에 다룰 주제는 정규 표현식, 또는 정규식이라고도 하는 주제를 다루어 보도록 하겠습니다. 문서이든 웹페이지이던 글 을 보다보면 특정한 규칙을 가진 문자열의 패턴으로 이루어진 문장들이 있습니다. 예를 들어 휴대전화 번호라든지, 사업자 번호, 주민번호, 메일주소등이 그런 예인데, 이런 문자열의 규칙을 찾아내거나 변환하기 위해서 사용되는 것이 정규식입니 다. 정규식은 파이썬에서만 쓰이는 것이 아니라 자바스크립트라던지, PHP, ASP 등 웹용 언어등에서도 광범위하게 쓰이는 것으로 한번 배워두면 다른 곳에서도 적용할 수 있는 장점이 있습니다.정규식을 배우기 전에 우선 정규식을 이용하지 않는 방법으로 휴대전화 번호를 체크하는 코드를 알아보도록 하겠습니다.  def isPhone(text): if len(tex..

Python 2024.12.21

파이썬 문자열 다루기

이번에 다룰 주제를 문자열을 다루는 여러가지 방법에 대해 설명드리도록 하겠습니다. 파이썬에서 문자를 표시하려면 홑 따옴표 두개('')를 이용해서 문자를 감싸서 표시를 해주면 됩니다. 그런데 만약 문자열 안에 홑따옴표가 있으면 어떻게 해 야 할까요?>>> char = 'World's largest city' SyntaxError: invalid syntax위처럼 문자열 안에 홑따옴표가 있을 경우 그냥 홑따옴표로 감싸면 SyntaxError 가 발생하면서 오류가 나게 됩니다. 이런 경우를 해결하는 방법은 문자열을 쌍따옴표로 감싸는 방법으로 해결할 수 있습니다.>>> char = "World's largest city" 이스케이프 문자(Escape Characters) 또 한가지 방법은 이스케이프 문자를 사용..

Python 2024.12.21

파이썬(Python) 딕셔너리

이번에 다룰 주제는 딕셔너리(Dictionary) 데이터 형식입니다. 이전에 리스트와 튜플에 대해서 다루었는데 딕셔너리 데이 터는 리스트와 튜플처럼 순차적으로 해당 요소의 값을 찾는 것이 아니고 키와 값으로 결합하여 데이터를 구성하게 됩니다. 참고서 같은 책의 맨 마지막을 보면 보통 색인이 만들어져 있습니다. 이런 색인을 이용하면 원하는 항목을 쉽게 찾을 수 있 는 것처럼 딕셔너리는 항목을 접근할때 책의 맨 마지막에 있는 부록처럼 접근할 수 있는 요소를 제공해 주게 됩니다. 나이=30, 키=180, 혈액형=AB 같이 각 요소에 대응하는 경우도 딕셔너리 데이터 형식으로 사용된다고 볼 수 있습니다. 그러 면 파이썬에서는 어떻게 딕셔너리 데이터를 표현할까요? 파이썬에서 딕셔너리 데이터를 표현하려면 {} 를 사..

Python 2024.11.30

파이썬(Python) 리스트 02

리스트를 다루기에 앞서서 먼저 리스트를 사용할 때 많이 사용되는 연산자의 사용법에 대해 좀 더 다루어 보도록 하겠습니 다. 연산자는 더하기 빼기 곱하기 나누기 등이 있고, 연산자를 확장해주는 대입 연산자가 있다고 언급을 했습니다.대입 연산자                   같은 기능의 다른 표현법 animals = animals + 1 animals += 1animals = animals - 1 animals -= 1 animals = animals * 1 animals *= 1 animals = animals / 1 animals /= 1animals = animals % 1 animals %= 1대입 연산자는 위와 같이 다른 표현 방법을 이용해서 똑같이 사용할 수 있습니다.>>> animals = [..

Python 2024.11.30

파이썬(Python) 리스트 01

프로그래밍을 하기 위해서는 여러가지 데이터를 다루어야 합니다. 기본적으로 문자열 데이터, 숫자형 데이터, Boolean 데 이터등을 개별적으로 다룰 수도 있지만 여러 데이터를 체계적으로 다루기 위해서는 리스트 데이터 타입에 대해 알아두는 것이 좋습니다. 리스트 데이터 형식은 [] 을 사용하여 데이터를 보관합니다. 문자열의 값이 시작하고 끝나는 위치는 '' 를 사용하여 표시를 하고, 문자열 사이의 구분은 쉼표로 구분하게 됩니다.>>> [1, 2, 3] [1, 2, 3] >>> ['고양이', '호랑이', '늑대', '사자', '원숭이'] ['고양이', '호랑이', '늑대', '사자', '원숭이'] >>>animals = ['고양이', '호랑이', '늑대', '사자', '원숭이'] >>> animals ['고..

Python 2024.11.30

파이썬(Python) 스무고개 프로그램

이번에는 이제까지 다루었던 내용을 바탕으로 간단한 프로그램을 하나 만들어 보도록 하겠습니다. 스무고개라는 퍼즐 문 제를 해보셨는 지 모르겠지만 그것과는 약간 다르지만 비슷한 개념으로 1부터 20까지의 숫자중에서 하나를 제시하면, 그 숫자가 정답보다 큰 숫자인지, 아니면 작은 숫자인지를 알려주고 총 6번의 제시를 통해서 정답 숫자를 맞추어 나가는 프로 그램입니다.#숫자 게임을 추측하는 프로그램 import random secretNumber = random.randint(1, 20) print('1부터 20까지의 숫 자가 있습니다.') # 플레이어에게 6번의 추측을 요청한다. for guessTaken in range(1, 7): print('예상하는 숫자를 입력 하세요.') guess = int(inpu..

Python 2024.11.30

파이썬(Python) 쉬어가는 페이지

이번에는 쉬어가는 페이지입니다. 파이썬의 문법에 대한 설명이 아니라 파이썬을 사용하면서 내가 입력한 코드가 실제 어 떤 식으로 동작하고 있는 지 실시간으로 확인할 수 있는 유용한 사이트를 소개해드리고자 쉬어가는 페이지를 만들어 보았 습니다. http://pythontutor.com/visualize.html#mode=editVisualize Python, Java, JavaScript, C, C++, Ruby code execution Write code in Visualize Execution Live Programming Mode pythontutor.com위의 사이트에 접속합니다.  Write Code in 에서 파이썬 3.6을 선택하고 Live Programming Mode를 클릭합니다. 그러면 ..

Python 2024.11.27