본문 바로가기

BASIC47

대출이자 만기일시상환(萬期一時償還) 약정 기간 동안 대출 원금에 대한 상환 없이 이자만 부담하는 방식이다. 전세자금대출 대출원금을 대출 만기일에 전부 상환하며, 대출기간 중에는 이자만 납부한다. 원리금 상환금액 부담은 가장 적으나, 대출원금이 줄어들지 않으므로 총 납부해야 하는 이자비용이 큰 편이다. 원리금균등상환 대출 원금과 이자를 합친 금액 즉 원리금을 만기일까지 균등하게 상환하는 대출 상환 방식이다. 휴대폰 단말기 할부금 상환 매달 내야 하는 납부금이 동일하기에 자금 관리 면에서 유리하다. 원금균등분할상환 대출한 돈을 일정 기간마다 대출 원금에 대해서는 매월 동일한 금액으로 상환하고 남은 대출 원금에 대한 이자를 상환하는 방식으로 즉 매달 갚아나가는 원금이 일정하고 이자가 변하는 상환 방식이다. 신용카드의 .. 2023. 12. 2.
주피터 노트북 주피터 노트북 사용하기 지금까지 파이썬 IDLE에서 코드를 작성하고 실행해봤습니다. 이번에는 웹 브라우저에서 파이썬 코드를 작성하고 실행까지 해볼 수 있는 주피터 노트북(jupyter notebook)을 사용해보겠습니다. 사실 아나콘다를 설치한 이유도 주피터 노트북을 사용하기 위해서 였습니다. 46.2.1 주피터 노트북 실행하기 시작 > Anaconda3 (64-bit) > Jupyter Notebook을 클릭합니다. 또는, 명령 프롬프트를 실행(윈도우 키+R을 누른 뒤 cmd를 입력)한 뒤 다음 명령을 입력합니다. C:\Users\\Anaconda3\python.exe -m notebook C:\Users\dojang>C:\Users\dojang\Anaconda3\python.exe -m noteboo.. 2023. 11. 30.
모듈과 패키지 Unit 44. 모듈과 패키지 사용하기 지금까지 파이썬 코드를 작성하면서 input, print 등의 내장 함수(built-in function)를 주로 사용했는데, 내장 함수만으로는 할 수 있는게 별로 없습니다. 그래서 좀 더 복잡한 프로그램을 만들려면 파이썬의 모듈과 패키지를 사용해야 합니다. 우리가 책 중간 중간에 사용했던 random, turtle, pickle 등이 바로 모듈과 패키지입니다. 모듈(module)은 각종 변수, 함수, 클래스를 담고 있는 파일이고, 패키지(package)는 여러 모듈을 묶은 것입니다. 파이썬을 설치할 때 다양한 모듈과 패키지가 기본으로 설치됩니다. 만약 기본 모듈과 패키지로 부족하다면 다른 사람이 만든 유명 모듈과 패키지를 설치해서 쓸 수도 있습니다. 참고 | 모듈.. 2023. 11. 28.
정규표현식 메타 문자 설명 [] 문자, 숫자 범위를 표현하며 +, -, . 등의 기호를 포함할 수 있음 {개수} 특정 개수의 문자, 숫자를 표현 {시작개수, 끝개수} 특정 개수 범위의 문자, 숫자를 표현 + 1개 이상의 문자를 표현. 예) a+b는 ab, aab, aaab는 되지만 b는 안 됨 * 0개 이상의 문자를 표현. 예) a*b는 b, ab, aab, aaab ? 0개 또는 1개의 문자를 표현. 예) a?b는 b, ab . 문자 1개만 표현 ^ [ ] 앞에 붙이면 특정 문자 범위로 시작하는지 판단 [ ] 안에 넣으면 특정 문자 범위를 제외 $ 특정 문자 범위로 끝나는지 판단 | 여러 문자열 중 하나라도 포함되는지 판단 ( ) 정규표현식을 그룹으로 묶음, 그룹에 이름을 지을 때는 ?P 형식 예) (?P[a-z.. 2023. 11. 28.
데코레이터 1. 데코레이터 사용하기 파이썬은 데코레이터(decorator)라는 기능을 제공합니다. 데코레이터는 장식하다, 꾸미다라는 뜻 지금까지 클래스에서 메서드를 만들 때 @staticmethod, @classmethod, @abstractmethod 등을 붙였는데, 이렇게 @로 시작하는 것들이 데코레이터입니다. 즉, 함수(메서드)를 장식한다고 해서 이런 이름이 붙었습니다. 데코레이터는 함수를 수정하지 않은 상태에서 추가 기능을 구현할 때 사용합니다. class Calc: @staticmethod # 데코레이터 def add(a, b): print(a + b) 1) 데코레이터 만들기 예를 들어서 함수의 시작과 끝을 출력하고 싶다면 다음과 같이 함수 시작, 끝 부분에 print를 넣어주어야 합니다. def hell.. 2023. 11. 28.
코루틴 1. 코루틴 사용하기 def add(a, b): c = a + b # add 함수가 끝나면 변수와 계산식은 사라짐 print(c) print('add 함수') def calc(): add(1, 2) # add 함수가 끝나면 다시 calc 함수로 돌아옴 print('calc 함수') calc() 이 소스 코드에서 calc 함수와 add 함수의 관계를 살펴보겠습니다. calc가 메인 루틴(main routine)이면 add는 calc의 서브 루틴(sub routine)입니다. 이 메인 루틴과 서브 루틴의 동작 과정을 그림으로 나타내면 다음과 같은 모양이 됩니다. 메인 루틴에서 서브 루틴을 호출하면 서브 루틴의 코드를 실행한 뒤 다시 메인 루틴으로 돌아옵니다. 특히 서브 루틴이 끝나면 서브 루틴의 내용은 모두.. 2023. 11. 28.
제너레이터 1. 제너레이터 사용하기 제너레이터는 이터레이터를 생성해주는 함수입니다. 이터레이터는 클래스에 __iter__, __next__ 또는 __getitem__ 메서드를 구현해야 하지만 제너레이터는 함수 안에서 yield라는 키워드만 사용하면 끝입니다. 그래서 제너레이터는 이터레이터보다 훨씬 간단하게 작성할 수 있습니다. 참고로 제너레이터는 발생자라고 부르기도 합니다. 이 책에서는 제너레이터를 사용하겠습니다. 함수 안에서 yield를 사용하면 함수는 제너레이터가 되며 yield에는 값(변수)을 지정합니다. yield 값(변수) def number_generator(): yield 0 yield 1 yield 2 for i in number_generator(): print(i) 0 1 2 1) 제너레이터 객체.. 2023. 11. 28.
이터레이터 이터레이터(iterator)는 값을 차례대로 꺼낼 수 있는 객체(object)입니다. 데이터 생성을 뒤로 미루는 것인데 이런 방식을 지연 평가(lazy evaluation)라고 합니다. 참고로 이터레이터는 반복자라고 부르기도 합니다. 이 책에서는 이터레이터를 사용하겠습니다. 1. 반복 가능한 객체 (iterable) 반복 가능한 객체는 말 그대로 반복할 수 있는 객체인데 우리가 흔히 사용하는 문자열, 리스트, 딕셔너리, 세트가 반복 가능한 객체입니다. 즉, 요소가 여러 개 들어있고, 한 번에 하나씩 꺼낼 수 있는 객체입니다. 객체가 반복 가능한 객체인지 알아보는 방법은 객체에 __iter__ 메서드가 들어있는지 확인해보면 됩니다. dir(객체) >>> dir([1, 2, 3]) ['__add__', '_.. 2023. 11. 28.
회문 판별과 N-gram 만들기 1. 회문( palindrome ) 판별하기 회문(palindrome)은 순서를 거꾸로 읽어도 제대로 읽은 것과 같은 단어와 문장을 말합니다. 예를 들면 "level", "SOS", "rotator", "nurses run"과 같은 단어와 문장이 있지요. 1) 반복문으로 문자 검사하기 이제 반복문으로 문자열의 각 문자를 검사해보겠습니다. palindrome.py word = input('단어를 입력하세요: ') is_palindrome = True # 회문 판별값을 저장할 변수, 초깃값은 True for i in range(len(word) // 2): # 0부터 문자열 길이의 절반만큼 반복 if word[i] != word[-1 - i]: # 왼쪽 문자와 오른쪽 문자를 비교하여 문자가 다르면 is_pa.. 2023. 11. 28.