- 오버라이딩
: 하위 클래스에서 상위 클래스의 메서드를 재정의(override) 한다.
- 추상 클래스
: 추상클래스란 미구현 추상메소드를 한개 이상 가지며, 자식클래스에서 해당 추상 메소드를 반드시 구현하도록 강제합니다.
from abc import *
class 추상클래스명(metaclass=ABCMeta):
@abstractmethod
def 추상메소드(self):
pass
- 예외 처리
- finally
: 예외 발생과 상관없이 항상 실행한다.
- try ~ except
try:
except:
or
except Exception as e:
print(f'exception: {e}')
- raise + 예외처리
if a < 1 or a > 5:
raise Exception("에러!!")
- 텍스트 파일 쓰기
file = open('path~','w') -> 쓰기모드
strCnt = file.write('Hello') -> 문자 길이 반환
file.close()
- 텍스트 파일 읽기
file = open('path~','r', encoding='UTF8') -> 읽기모드
str = file.read()
file.close()
- 파일 모드
- 'w': 쓰기 전용(파일이 있으면 덮어씌움)
- 'a': 쓰기 전용(파일이 있으면 덧붙임)
- 'x': 쓰기 전용(파일이 있으면 에러 발생)
- 'r': 읽기 전용(파일이 없으면 에러 발생)
- with ~ as 문
: 파일 닫기(close)를 생략할 수 있다.
with open('path','a') as f:
f.write('python')
with open('path','r') as f:
print(f.read())
- enumerate() 함수
- for idx,value in enumerate(datas)
>>> for entry in enumerate(['A', 'B', 'C']):
... print(entry)
...
(0, 'A')
(1, 'B')
(2, 'C')
참고
- writelines()
: 리스트 또는 튜플 데이터를 파일에 쓰기 위한 함수
with open('path','a') as f:
f.writelines(datas)
with open('path','a') as f:
f.writelines(data +'\n' for data in datas)
참고
- readlines()
: 파일의 모든 데이터를 읽어서 리스트 형태로 반환한다.
with open('path','r') as f:
lanList = f.readlines()
- readline()
: 한 행을 읽어서 문자열로 반환한다.
with open('path','r') as f:
line = f.readline()
while line = '':
print(f'line:{line}',end='')
line = f.readline()