ALL

Python 넘파이(Numpy) 사용 방법 및 예제

파이썬에서 계산이나 수치 연산에 특화된 라이브러리로 넘파이가 있습니다. 사용하는 주된 이유는 다음과 같습니다. - 코드가 간결해진다. - 속도가 빠르다. - 배열을 다루기가 쉽다. 이러한 장점을 가지고 있어서 계산 로직에서 많이 사용하는거 같습니다. 사용 방법을 간단한 예제를 통해서 알아보겠습니다. 첫 번째 예제는 배열에 저장한 모든 값에 1씩 더해서 출력을 하는 소스를 만들겠습니다. 먼저 넘파이를 사용하지 않고 만들겠습니다. orgin_list = result_list = [] for i in range(len(orgin_list...
ALL

Python private 함수 만들기 예제

클래스 안에 private 함수를 만드는 방법을 보겠습니다. 지역 함수라고도 불리는 private 함수는 클래스 안에서만 사용하고 싶을 때 사용합니다. 파이썬에서는전역 함수인public과지역 함수인private를 설정하는 방법이 조금 다릅니다. 함수를 선언하게 되면 기본타입은 public 함수가 됩니다. private 함수를 선언하기 위해서는 함수 이름앞에 __언더바(_)를2개붙여주면 됩니다. 전역함수 지역함수 예제 class Spam: __attr = 100 def __init__(self): self.__attr = 999 de...
ALL

Python 클래스 상속 예제

클래스를 정의해서 사용하는 이유중 하나가 재사용을 하기위해서입니다. 재사용을 하기위해서는 먼저 만들어 놓은 클래스를 상속해서 사용애햐합니다. 클래스 상속은 파이썬 뿐만아니라 오브젝트 지향 언어에서는 유용하게 사용되는 중요한 부분입니다. 상속 예제 class Base: basevalue = "base" def spam(self): print("Base.spam()") def ham(self): print("ham") class Derived(Base): def spam(self): print ("Derived.spam()") self...
ALL

Python 클래스 작성 방법 예제

간단한 동작을 확인하거나 테스트를 하기 위해 작성할 때 클래스를 만들지 않아도 실행이 됩니다. 하지만 실제로 사용하기 위해 만든 프로그램에 처음부터 끝가지 하나의 파일에 작성하게 되면 에러가 발생하거나 수정 또는 추가 기능을 만들 때 효율적이지 못합니다. 오브젝트 지향 언어인파이썬에서도 클래스와 오브젝트를 활용해 작성하는 것이 좋습니다. 작성 방법과 예제를 간단하게 보겠습니다. class 클래스 예제 class Spam: val = 100 def ham(self): self.egg('call method') def egg(self,...
ALL

Python 예외 처리 except 여러개 작성 방법

예외 처리인 try except에는 처리에 맞는 적절한 예외처리 종류를 작성해야 합니다. 만약, 발생할 수 있는 에러가 여러개라면 예외 처리 종류도 여러개 작성해야 합니다. 파일 입출력의 경우를 예로 보겠습니다. 예외처리 복수 예제 try: f = open(file_name,'w') data = dict_input f.write(data) f.close() except KeyError: print('Key not found') except (FileNotFoundError, TypeError) : print('Could not op...
ALL

Python 예외 처리 finally와 else 차이

예외 처리로 에러를 처리하는 경우 사용할 수 있는 문법으로 finally와 else가 있습니다. 사용 방법과 어떤 동작을 하는지 알아보겠습니다. 먼저 else는 try문 내에서 에러가 발생하지 않은 경우 처리를 하게 됩니다. else 예제 try: a = 10 / 1 print("{0}".format(a)) except ZeroDivisionError as e: print("ZeroDivisionError!!") else: print("else statement") finally: print("finally statement") 결...
ALL

Python 예외 처리 try except 기본 사용법

작성한 소스를 컴파일 할 때 에러가 발생하는 경우는 컴파일 에러라고 합니다. 하지만 컴파일은 문제없이 종료되었지만 프로그램 실행 중 에러가 발생하는 경우도 있습니다. 이러한 경우를 예외라고 합니다. a = 10 / 0 print("{0}".format(a)) 컴파일 할 때는 문제가 없지만 실행할 때 에러가 발생합니다. ZeroDivisionError: integer division or modulo by zero 이러한 에러를 미리 예상하고 잡아주지 않으면 프로그램 실행 중에 갑자기 종료되버립니다. 따라서 예외 처리를 작성해 주면 ...
ALL

Pandas DataFrame 공백(NaN) 행만 추출 방법

DataFrame을 사용할때NaN(Null) 인 데이터만 추출하고 싶은 경우가 있습니다. isnull 함수를 사용해서 DataFrame에 NaN(Null)이 존재하는 행만 추출하는 여러 가지 예제를 보도록 하겠습니다. 테스트 데이터 준비 먼저 예제를 실행할 수 있는 테스트용 데이터를 만들겠습니다. random 함수를 사용해 랜덤으로 생성된 숫자를 DataFrame에 추가하겠습니다. 열은 ABCDE로 지정하겠습니다. 그리고 마지막 줄에서iloc로Null을 설정해두겠습니다. import pandas as pd import numpy a...
ALL

Python 문자열 검색 find 함수 인덱스 취득

문자열 안에서 찾고 싶은 문자가 몇 번째에 있는지 찾고 싶은 경우가 있습니다. find 함수를 사용하면 지정한 문자가 어디에 있는지 인덱스(index)를 반환합니다. 그리도 뒤에서부터 찾고 싶은 경우에는 rfind 함수를 사용해서 찾을 수 있습니다. find 함수 원하는 문자가 몇 번째에 있는지 찾는 예제를 보겠습니다. str = 'abcabcabc' index = str.find('b') # index는1 (2번째 문자) 변수index에는1이 반환됩니다. 변수 str에 'abcabcabc' 문자 b가 어디에 있는지 find 함수로...