본문 바로가기

파이썬23

6주차, 파이썬 예외처리, raise, assert try: 에러 문장 except: 에러 났을 때 실행할 문장 에러나면 except안에 있는 게 실행 try: 에러 문장 except Exception as e: # 이렇게 as ??라고 적어놓으면 발생할 에러문이 string형태의 ??에 저장됨 print(e) 에러 났을 때 실행할 문장 try: 에러 문장 except: 에러 났을 때 실행할 문장 else: 에러가 안 나면 실행할 문장 finally: 에러 발생 여부와 상관없이 실행될 문장 raise문 raise Exception("강제로 에러를 발생시킴") 이런 방식으로 raise문을 통해 우측의 string을 출력하며 에러가 발생하게 할 수도 있다. Assert문 assert A>10, 'A가 너무 작다.' assert로 시작하는 문장에 조건식을 적으.. 2022. 1. 27.
6주차, 파이썬 추상클래스, isinstance() 함수 추상클래스는 abc 모듈(abstract base class)의 ABCMeta 클래스를 상속받아 만든다. 추상클래스는 자신의 객체를 생성할 수 없다. 추상메소드라는 @abstractmethod 데코레이터를 사용하여 자신의 하위객체에게 특정 메소드의 생성을 강제할 수 있다. 추상메소드는 이름만 존재하고 내용은 없다 From abc import * Class Abstract(metaclass = ABCMeta): @abstractmethod def method(self): pass class test(Abstract): def method(self): print('abc') // pass하면 에러남 isinstance(변수, 클래스이름)은 주어진 변수의 값이 클래스의 인스턴스인지 여부를 반환해 주는 함수 i.. 2022. 1. 26.
6주차, 파이썬 클래스 상속 class A: def 함수1(self, 변수1, 변수2, ...): return 결과 class B(A): def 함수1(self, 변수1, 변수2, ...): return 결과 매개변수에 상위클래스를 넣으면 상속이 된다. 상위클래스의 메소드를 불러올 수도 있다. super().메소드 이름(self를 뺀 매개변수) 의 형태로 하위클래스의 메소드 안에서 상위클래스의 메소드를 불러올 수 있다. 오버라이딩의 경우 상위클래스의 메소드와 같은 이름의 메소드를 하위클래스에서 정의하면 상위클래스의 메소드는 무시되고 새로 선언된 메소드가 사용된다. 그리고 파이썬은 다중상속이 가능하다. class C(A, B): 의 형태로 컴마 넣고 쓰면 된다. A와 B에 같은 이름의 메소드가 있을 경우, 먼저 매개변수로 입력된 클래.. 2022. 1. 26.
6주차, 객체지향, 절차지향, 특수메소드 절차지향(구조적 프로그래밍): 데이터 구조와 그 데이터를 변화시키는 알고리즘으로 구성 객체지향: 객체들이 메시지를 통하여 통신함으로써 원하는 결과를 얻는다. 각 객체는 고유의 데이터와 데이터를 처리할 수 있는 메소드로 구성 사실 파이선은 모든 것이 객체다. string이나 list 또한 객체다. 'asdf'.upper() 라는 함수조차 이미 선언된 메소드다. 특수메소드 생성자: __init__() 객체가 생선된 후 가장 먼저 호출되는 메소드 첫번째 매개변수는 self이며 이후에 매개변수 추가 가능 주로 멤버 변수의 초기화 코드로 작성 소멸자: __del__() 객체가 소멸될 때 호출되는 메소드 외부 자원을 사용하는 경우, 해제하는 코드를 주로 작성 self 이외의 매개변수를 받지 않음 del 객체이름 을.. 2022. 1. 26.