IT/Python +Django

    파이썬 파일 처리 - csv와 XSL, XLSX

    파이썬 파일 처리 - csv와 XSL, XLSX

    파이썬 Excel, CSV 파일 읽기 및 쓰기 with open('./resource/sample2.csv', 'r') as f: reader = csv.reader(f, delimiter='|') # 구분자 선택 # next(reader) Header 스킵 # 확인 print(reader) print(type(reader)) print(dir(reader)) # __iter__ 확인 print() for c in reader: print(c) csv 데이터의 dict 변환 with open('./resource/sample1.csv', 'r') as f: reader = csv.DictReader(f) # 확인 print(reade..

    파이썬 에러 및 예외 처리

    파이썬 에러 및 예외 처리

    예외의 종류를 모두 외울 수 없다. 문법적으로 에러가 없지만, 런타임 프로세스에서 발생하는 예외 처리도 중요하다. linter : 코드 스타일, 문법 체크 SyntaxError : 잘못된 문법 NameError : 참조변수 없음 ZeroDivisionError : 0 나누기 에러 IndexError : 인덱스 범위 오버 KeyError : 없는 키를 조회하는 경우 AttributeError : 모듈, 클래스에 있는 잘못된 속성 사용시에 예외 ValueError : 참조 값이 없을 때 발생 FileNotFoundError : 파일 접근시 존재하지 않는 경우 TypeError : 자료형에 맞지 않는 연산 코딩 규약 항상 예외가 발생하지 않을 것으로 가정하고 먼저 코딩 런타임 예외 발생시 예외 처리 코딩 권장..

    파이썬 파일 입출력

    파이썬 파일 입출력

    읽기 모드 : r 쓰기 모드 (기존 파일 삭제) : w 추가 모드 (파일 생성 또는 추가) : a https://docs.python.org/3.7/library/functions.html#open 파일 읽기 f = open('./review.txt', 'r') contents = f.read() print(contents) # print(dir(f)) # 반드시 close 리소스 반환 f.close() open의 close 를 해주지 않아도 리소스를 자동으로 반환해주는 with 문 with open('./review.txt', 'r') as f: # f는 iterable 함 c = f.read() print(iter(c)) print(list(c..

    파이썬 모듈과 패키지

    파이썬 모듈과 패키지

    파일 하나하나를 모듈이라고 볼 수 있으며 모듈들을 디렉토리 구조로 관리 하는것을 패키지라고 한다. 목적에 따라 정리 패키지는 상대 경로, 절대 경로 원칙을 따른다. python2 에서는 디렉토리 하에 init.py 를 만들어 해당 디렉토리가 패키지임을 선언한다. 클래스안의 함수를 사용하는 방법 from 디렉토리.파일명 import 클래스명 호출 : 클래스명.함수명() 클래스 alias 주기 from 디렉토리.파일명 import 클래스명 as alias명 호출 : alias명.함수명() # alias를 준 클래스명을 사용하면 에러 발생 파일째 모듈 가져오기 import 디렉토리명.파일명 보통 aslias 를 준다. as alias명 호출 : alias명.함수() 함수만 가져오기 (가장 권장됨) from 디..

    파이썬 상속, 다중 상속

    파이썬 상속, 다중 상속

    상속 클래스 상속, 다중 상속 파이썬은 다중 상속을 허용한다. 슈퍼클래스(부모) 및 서브클래스(자식) → 모든 속성, 메소드 사용 가능 상속의 사용 이유: 코드를 재사용. 생산성 (유지보수 용이) 여러 클래스가 같은 코드를 공유한다면 부모 클래스를 만들어 상속받아 동일하게 사용할 수 있다. class Human: # class Human(): 과 동일 def __init__(self): pass def eat(self): pass class Man(Human): def __init__(self): super().__init__() # 부모 초기화 class Woman(Human): pass obj.mro() : 클래스의 상속 정보를 리스트 형태로 리턴해준다. object 클래스는 모든 클래스의 부모다 다..

    파이썬 Closure와 Decorator

    파이썬 Closure와 Decorator

    함수 내 (함수 스코프 안)에서 변수를 체크 한다. 변수가 지역 스코프 내에 없는데 전역 변수에 있으면 전역 변수를 이용한다. 만일 같은 변수가 있다면 지역변수가 우선된다 하지만 인터프리터는 유무 만 체크하기 때문에 사용이 먼저 된다면 에러가 발생한다. 아래와 같다. b = 10 def func_v1(a): print(a) print(b) func_v1(10) # 에러 발생하지 않는다. # 결과 # 10 # 10 b = 10 def func_v2(a): print(a) print(b) b = 5 func_v2(5) # 에러가 발생한다. # 결과 # 에러 Closure 클로저 반환되는 내부 함수에 대해서 선언 된 연결 데이터를 가지고 참조하는 방식으로 반환 당시 함수 유효범위를 벗어난 변수 또는 메소드에 ..