본문 바로가기
코딩 모음

파이썬 기초 다져보자 04/07 (파이썬 클래스, 파이썬 예외처리)

by 가유 2021. 12. 11.
728x90
반응형

## 파이썬 클래스

## 파이썬 예외처리

 

## 파이썬 클래스

무엇인가를 반복적으로 만들어낼 수 있는 ‘틀’

클래스(틀) 를 통해서 만들어진 것을 객체(object) 라고 한다.

하나의 클래스를 가지고 여러 개의 객체를 만들 수 있습니다.

만들어진 객체들은 서로 아무런 영향을 주지 않습니다.

예를 들면 "와플틀"이 클래스(class) 라면, 만들어진 크로와상와플은 객체(object) 인 것이다.

> 클래스 요소

* 클래스 멤버 : 클래스에서 변수와 같은 역할

* 클래스 메소드 : 클래스에서 함수와 같은 역할

class MyClass:

    var = '클래스 멤버'

    def func(self):

        print('클래스 메소드')

파이썬에서 클래스 메소드의 인자로 관습적으로 self를 사용

객체 생성은 obj = MyClass()로 선언한다.

 

클래스 멤버 : 객체간 서로 공유되는 변수

인스턴스 멤버 : 객체별로 고유한 값을 저장하는 변수

class Waffle:

    taste = '굳' # 클래스멤버

    size = '보통' #클래스멤버

    def seller(self, order):

       self.order = order #인스턴스멤버

인스턴스 멤버는 self.멤버이름을 통해 선언할 수 있다.

특정 객체의 멤버여서 self.멤버이름의 형식으로 선언

class Car():

    def set_owner(self, name):

        self.owner = name

        print('차 주인: ', name)

 

# 클래스 생성자

클래스 생성자 는 객체가 생성될 때마다 자동으로 실행되는 클래스 메소드

일반적으로 생성자는 클래스 변수를 설정해주는 등의 초기화 작업을 수행

생성자는 self 외에 여러개의 인자를 가질 수 있다.

def __init__(self, test1, test2):

    # 여기에 생성자에서 처리하고자 하는 내용

#클래스 소멸자

클래스 소멸자 는 객체가 메모리에서 제거될 때 자동으로 실행되는 메소드

class Person:

    (생략)

    def __del__(self):

        # 여기에 소멸자에서 처리하고자 하는 내용

객체를 메모리에서 제거하려면 아래와 같이 입력

# 클래스 Person의 객체를 만들어 person에 저장

person = Person()

# 객체 person을 제거 합니다.

del person

>> 생성자나 소멸자와 같이 앞뒤에 ‘__’ 가 붙는 경우, 특별한 용도로 미리 예약한 메소드명이라고 생각

 

#클래스 상속

상속 은 하나의 클래스가 다른 클래스의 멤버와 메소드를 그대로 물려받아 사용할 수 있는 개념

상속을 받는 클래스를 자식클래스, 상속을 하는 클래스를 부모클래스라 정의

자식클래스는 서브클래스, 부모클래스는 슈퍼클래스라고도 한다.

상속 방법 : class Subclass(SuperClass):

자식클래스는 여러 개의 부모클래스로부터 상속받을 수 있다

만약 자식클래스와 부모클래스의 멤버 또는 메소드가 중복된다면, 자식클래스의 요소를 우선시 한다.

 

 

## 파이썬 예외처리

프로그램이 실행되는 동안 에러가 발생하면 프로그램이 중단되는데 이를 예외 상황이라고 한다.

> try~except를 사용하면 예외 상황이 발생하더라도 예외 상황에 대한 적절한 코드를 실행하고, 프로그램을 계속 진행할 수 있다.

> try에 해당하는 블럭에 에러가 발생할 가능성이 큰 부분을 두고, 예외가 발생할 경우, except에 해당하는 코드 블럭이 실행

오류 상황이 아닐 경우 특정 작업을 수행하는 코드를 작성하고 싶을 경우에는 try~except문에 else를 붙여주면 된다.

ex)

try:
    print('try문 입니다..')
except:
    print('except가 발생했습니다!')
else:
    print('예외가 발생하지 않고 else문 입니다.')

> 오류 발생 유무와 상관 없이 특정 코드를 무조건 실행하고 싶을 경우 fianlly사용

try:
    print('try문 입니다..')
except:
    print('except가 발생했습니다!')
finally:
    print('무조건 실행문 finally입니다.')

>  try~except문에서 파이썬에서 미리 정해놓은 예약어 Exception을 사용할 경우 오류가 발생한 원인을 출력가능

try:
    print(param)
except Exception as e:
    print(e)

 

반응형

댓글