본문 바로가기
Program/Python

Python 기초 :: 클래스(Class)

by 시레엔 2018. 2. 9.
반응형

안녕하세요.

이번에 포스팅할 부분은 Class라는 것입니다. 사실 '파이썬으로 Catia 접근 및 수정하기'에서 미리 한번 언급한 부분입니다.


클래스는 하나의 분류하는 '과일가게'라고 생각하시면 될 것 같습니다. 여기서 사과 박스, 바나나 박스, 배 박스 등 여러가지의 박스가 저장될 수 있으며, 이에 따라 필요한 박스만 빼서 쓸 수 있게 하는 것이 Class라고 기억하시면 될 것 같습니다.


import win32com.client


class Catia(object):

def __init__(self):

self.client()

return

def __del__(self):

return

def client(self, _value_=True):

self.CATIA = win32com.client.Dispatch("CATIA.Application")

self.CATIA.Visible = _value_

return


위의 예제는 카티아 창을 활성화시킬 때를 win32com.client 모듈을 이용해서 하나의 Class로 만들었습니다.

위에는 클레스(Class) 안에 __init__와 __del__을 포함하고 있으며, 이것은 각각 생성자와 소멸자에 대한 정보를 나타내고 있습니다.

여기서 생성자는 Class가 구동되어 질때, 최초로 실행되는 부분이라고 생각하시면 될 것 같으며, 소멸자는 구동이 끝나는 마지막에 호출되는 부분입니다.


또한, 클레스 옆에 Object라는 것은 상속과 관련이 있습니다.

만약에 기존에 A라는 클래스가 존재한다고 할때, 그것을 B 클래스에 종속시키려면 아래와 같이 종속을 시킬 수 있습니다.



class A:

def __init__(self):

return

def __del__(self):

return


class B(A):

def print(self):

print "Hello world"



위의 예제는 서로가 상관은 별로 없지만, 저런 구조 안에서 종속을 시킬 수 있다는 것을 표현하기 위해 만든 것입니다.


마지막으로 그 외에도 __add__, __or__, __call__ 등 다양한 클래스 내의 함수 연산자들이 있습니다. 이것을 사용할 때에는 상당히 높은 수준에 올라야 쓸 일이 생긴다고 하니, 상당한 수준으로 올라서면 다시 어떤 상황에 사용하는 것이 좋은지 예제를 만들어 다시 포스팅할 수 있도록 하겠습니다.



반응형

댓글