본문 바로가기

Python36

파이썬 - 클래스(class) 모듈 모듈 만들기 모듈에 대해 자세히 살펴보기 전에 간단한 모듈을 한번 만들어 보자. # mod1.py def add(a, b): return a + b def sub(a, b): return a-b 위와 같이 add와 sub 함수만 있는 파일 mod1.py를 만들고 C:\doit 디렉터리에 저장하자. 이 mod1.py 파일이 바로 모듈이다. 지금까지 에디터로 만든 파이썬 파일과 다르지 않다. 파이썬 확장자 .py로 만든 파이썬 파일은 모두 모듈이다. 모듈 불러오기 우리가 만든 mod1.py 파일, 즉 모듈을 파이썬에서 불러와 사용하려면 어떻게 해야 할까? 먼저 다음과 같이 명령 프롬프트 창을 열고 mod1.py를 저장한 디렉터리(이 책에서는 C:\doit)로 이동한 다음 대화형 인터프리터를 실행해 보자. C.. 2022. 12. 15.
파이썬 - 클래스(class) 기초 클래스는 왜 필요한가? 프로그래머들이 가장 많이 사용하는 프로그래밍 언어 중 하나인 C 언어에는 클래스가 없다. 이 말은 굳이 클래스가 없어도 프로그램을 충분히 만들 수 있다는 뜻이다. 파이썬으로 잘 만든 프로그램을 살펴보아도 클래스를 사용하지 않고 작성한 것들이 상당히 많다. 클래스는 지금까지 공부한 함수나 자료형처럼 프로그램 작성을 위해 꼭 필요한 요소는 아니다. 하지만 프로그램을 작성할 때 클래스를 적재적소에 사용하면 프로그래머가 얻을 수 있는 이익은 상당하다. 예제를 통해 한번 생각해 보자. 여러분 모두 계산기를 사용해 보았을 것이다. 계산기에 숫자 3을 입력하고 + 기호를 입력한 후 4를 입력하면 결괏값으로 7을 보여 준다. 다시 한 번 + 기호를 입력한 후 3을 입력하면 기존 결괏값 7에 3을.. 2022. 12. 15.
파이썬 - String endswith(), 어떤 문자열로 끝나는지 확인 endswith() endswith()를 이용하여 문자열이 특정 문자열로 끝이 나는지 확인할 수 있습니다. 1. endswith()로 문자열이 특정 문자열로 끝나는지 확인 예를 들어 다음과 같이 'Hello world, Python'가 Python 으로 끝나는지 확인할 수 있습니다. str = 'Hello world, Python' if str.endswith('Python'): print('It ends with Python') if not str.endswith('Hello'): print('It does not ends with Hello') Output: It ends with Python It does not end with Hello 만약 대소문자를 구분하지 않고 비교를 하고 싶다면 lower.. 2022. 12. 15.
파이썬 - String startswith(), 어떤 문자열로 시작하는지 확인 startwith() startswith()를 이용하여 문자열이 특정 문자열로 시작하는지 확인할 수 있습니다. 1. startswith()로 문자열이 특정 문자열로 시작하는지 확인 예를 들어 다음과 같이 'Hello world, Python!'가 Hello로 시작하는지 확인할 수 있습니다. str = 'Hello world, Python!' if str.startswith('Hello'): print('It starts with Hello') if not str.startswith('Python'): print('It does not start with Python') Output: It starts with Hello It does not start with Python 만약 대소문자를 구분하지 않고 .. 2022. 12. 15.
파이썬 문자열 자료형 - 연습문제 코딩시 자주 접하게 되는 문자열 자료형에 관한 연습문제를 통해 한번 더 학습하고 넘어 갑니다. 021 문자열 인덱싱 letters가 바인딩하는 문자열에서 첫번째와 세번째 문자를 출력하세요. >> letters = 'python' 실행 예 p t 정답확인 파이썬 문자열에서 한 글자를 가져오는 것을 인덱싱이라고 부릅니다. 파이썬 인덱싱은 0부터 시작합니다. lang = 'python' print(lang[0], lang[2]) 022 문자열 슬라이싱 자동차 번호가 다음과 같을 때 뒤에 4자리만 출력하세요. >> license_plate = "24가 2210" 실행 예: 2210 정답확인 문자열에서 여러 글자를 가져오는 것을 슬라이싱이라고 부릅니다. 음수 값은 문자열의 뒤에서부터 인덱싱 또는 슬라이싱함을 의미.. 2022. 12. 14.
파이썬 프로그래밍의 기초- 타입 변환, 형변환 type() 해당 데이터타입을 모르거나 확인이 필요한 경우 사용 # data type을 확인 type(123) type(12.3) type('123') type([]) type({}) type(()) # type 확인 결과 int() 해당 데이터를 int type으로 변환. 문자형의 경우 변환할 수 없음. int(1.23) int('123') int('a') # 실행결과 1 123 value error float() 해당 데이터를 float type으로 변환. 문자형의 경우 변환할 수 없음. float(12) float('12') float('-123') float('1e-003') float('a') # 실행결과 12.0 12.0 -123.0 0.001 error str() 해당 데이터를 str typ.. 2022. 12. 14.
파이썬 프로그래밍의 기초 - 프로그램의 입력과 출력 명령 프롬프트(DOS)를 사용해 본 독자라면 다음과 같은 명령어를 사용해 봤을 것이다. C:\> type a.txt 위 type 명령어는 바로 뒤에 적힌 파일 이름을 인수로 받아 해당 파일의 내용을 출력해 주는 명령어이다. 대부분의 명령 프롬프트에서 사용하는 명령어는 다음과 같이 인수를 전달하여 프로그램을 실행하는 방식을 따른다. 이러한 기능을 파이썬 프로그램에도 적용할 수가 있다. 명령어 [인수1 인수2 ...] 파이썬에서는 sys 모듈을 사용하여 프로그램에 인수를 전달할 수 있다. sys 모듈을 사용하려면 아래 예의 import sys처럼 import 명령어를 사용해야 한다. 모듈을 사용하고 만드는 방법에 대해서는 05장에서 자세히 다룰 것이다. #sys1.py import sys args = sys.. 2022. 12. 14.
파이썬 프로그래밍의 기초 - 파일 읽고 쓰기 파일 생성하기 다음 코드를 IDLE 에디터로 작성하여 실행해 보자. f = open("새파일.txt", 'w') f.close() 프로그램을 실행한 디렉터리에 새로운 파일이 하나 생성된 것을 확인할 수 있을 것이다. 파일을 생성하기 위해 파이썬 내장 함수 open을 사용했다. open 함수는 다음과 같이 "파일 이름"과 "파일 열기 모드"를 입력값으로 받고 결괏값으로 파일 객체를 리턴한다. 파일 객체 = open(파일 이름, 파일 열기 모드) 파일 열기 모드에는 다음과 같은 것들이 있다. 파일열기모드설명 r 읽기모드 - 파일을 읽기만 할 때 사용 w 쓰기모드 - 파일에 내용을 쓸 때 사용 a 추가모드 - 파일의 마지막에 새로운 내용을 추가 시킬 때 사용 파일을 쓰기 모드로 열면 해당 파일이 이미 존재할 .. 2022. 12. 14.
파이썬 프로그래밍의 기초 - 사용자 입력/출력 사용자 입력 사용자가 입력한 값을 어떤 변수에 대입하고 싶을 때는 어떻게 해야 할까? input의 사용 >>> a = input() Life is too short, you need python >>> a 'Life is too short, you need python' >>> input은 사용자가 키보드로 입력한 모든 것을 문자열로 저장한다. 프롬프트를 띄워서 사용자 입력 받기 사용자에게 입력받을 때 "숫자를 입력하세요"라든지 "이름을 입력하세요"라는 안내 문구 또는 질문이 나오도록 하고 싶을 때가 있다. 그럴 때는 input()의 괄호 안에 안내문구를 입력하여 프롬프트를 띄워주면 된다. input("안내문구") 다음 예를 직접 입력해 보자. >>> number = input("숫자를 입력하세요: ").. 2022. 12. 14.
파이썬 프로그래밍의 기초 - 함수 함수란 무엇인가? 함수를 설명하기 전에 믹서를 생각해 보자. 우리는 믹서에 과일을 넣는다. 그리고 믹서를 사용해서 과일을 갈아 과일 주스를 만든다. 우리가 믹서에 넣는 과일은 "입력"이 되고 과일 주스는 "출력(결괏값)"이 된다. 그렇다면 믹서는 무엇인가? (믹서는 과일을 입력받아 주스를 출력하는 함수와 같다.) 우리가 배우려는 함수가 바로 믹서와 비슷하다. 입력값을 가지고 어떤 일을 수행한 다음에 그 결과물을 내어놓는 것, 이것이 바로 함수가 하는 일이다. 우리는 어려서부터 함수에 대해 공부했지만 함수에 관해 깊이 생각해 본 적은 별로 없다. 예를 들어 y = 2x + 3도 함수이다. 하지만 이를 수학 시간에 배운 직선 그래프로만 알고 있지 입력(x) 값에 따라 출력(y) 값이 변하는 함수라는 사실에 .. 2022. 12. 14.
파이썬 프로그래밍의 기초 - 반복문 for for문의 기본 구조 for문의 기본 구조는 다음과 같다. for 변수 in 리스트(또는 튜플, 문자열): 수행할 문장1 수행할 문장2 ... 리스트나 튜플, 문자열의 첫 번째 요소부터 마지막 요소까지 차례로 변수에 대입되어 "수행할 문장1", "수행할 문장2" 등이 수행된다. 예제를 통해 for문 이해하기 for문은 예제를 통해서 살펴보는 것이 가장 알기 쉽다. 다음 예제를 직접 입력해 보자. 1. 전형적인 for문 >>> test_list = ['one', 'two', 'three'] >>> for i in test_list: ... print(i) ... one two three ['one', 'two', 'three'] 리스트의 첫 번째 요소인 'one'이 먼저 i 변수에 대입된 후 print(i.. 2022. 12. 14.
파이썬 프로그래밍의 기초 - 반복문 while while문의 기본 구조 반복해서 문장을 수행해야 할 경우 while문을 사용한다. 그래서 while문을 반복문이라고도 부른다. 다음은 while문의 기본 구조이다. while : ... while문은 조건문이 참인 동안에 while문에 속한 문장들이 반복해서 수행된다. "열 번 찍어 안 넘어가는 나무 없다"는 속담을 파이썬 프로그램으로 만든다면 다음과 같이 될 것이다. >>> treeHit = 0 >>> while treeHit < 10: ... treeHit = treeHit +1 ... print("나무를 %d번 찍었습니다." % treeHit) ... if treeHit == 10: ... print("나무 넘어갑니다.") ... 나무를 1번 찍었습니다. 나무를 2번 찍었습니다. 나무를 3번 찍었.. 2022. 12. 14.