1) 클래스

함수 설명 예제 (X, Y는 인스턴스)
__init__ 생성자(Constructor), 인스턴스가 만들어 질 때 호출  
__del__ 소멸자(Destructor) 인스턴스가 사라질 때 호출

 

__add__ 연산자 "+" X + Y
__or__ 연산자 "|" X | Y
__repr__ print print X
__call__ 함수호출 X()했을 때 호출  
__getattr__ 자격부여 X.메소드
__getitem__ 인덱싱 X[i]
__setitem__ 인덱스 치환 X[key] = value
__getslice__ 슬라이싱 X[i:j]
__cmp__ 비교 X > Y

 

class FourCal():
    def __del__(self):
        print ("클래스가 죽었습니다.\n")
    def setNum( self, a, b ):
        self.first = a
        self.second = b
    def sum( self ):
        print ("%s + %s = %s\n" % (self.first,self.second,self.first+self.second))
    def mul( self ):
        print ("%s * %s = %s\n" % (self.first,self.second,self.first*self.second))
    def sub( self ):
        print ("%s - %s = %s\n" % (self.first,self.second,self.first-self.second))
    def div( self ):
        print ("%s / %s = %s\n" % (self.first,self.second,self.first/self.second))


test = FourCal()

test.setNum(9,3)

test.sum()
test.sub()
test.mul()
test.div()

9 + 3 = 12

9 - 3 = 6

9 * 3 = 27

9 / 3 = 3.0

 

다른 언어와 마찬가지로 클래스 사용법은 비슷하니 금방 익숙해질 듯 싶다.

 

기억해야 할것은 클래스 내 함수 사용시에는 반드시 ( self ) self을 넣어줘야한다.

 

파이썬 언어 특징이니 그냥 기억하면 될 듯 싶다.

 

 

 

 

 

연산자 오버로딩

class ChoHouse:
    lastName= "조"
    def __init__(self, name):
        self.FullName = self.lastName + name
    def __del__(self):
        print ("%s가 파산했습니다.\n" % self.FullName)
    def setMoney( self, money ):
        self.Money = money
        print ("%s의 지갑에 들어 있는 돈은 %s입니다.\n" % (self.FullName, self.Money))
    def __add__( self, you):
        print("%s가 %s한테 돈을 빌렸다.\n" % (self.FullName,you.FullName))
    def __sub__( self, you):
        print("%s가 %s한테 돈을 빌렸다.\n" % (you.FullName,self.FullName))


jaeho = ChoHouse("재호")

jaeho.setMoney(10000000)

jinho = ChoHouse("진호")

jaeho + jinho
jaeho - jinho
jinho + jaeho
jinho - jaeho

del jinho

 

조재호의 지갑에 들어 있는 돈은 10000000입니다.

조재호가 조진호한테 돈을 빌렸다.

조진호가 조재호한테 돈을 빌렸다.

조진호가 조재호한테 돈을 빌렸다.

조재호가 조진호한테 돈을 빌렸다.

조진호가 파산했습니다.

 

 

 

 

 

 

상속

class KimHouse(ChoHouse):
    lastName = "김"

 

suha = KimHouse("수하")

suha.setMoney(99999)

 

김수하의 지갑에 들어 있는 돈은 99999입니다.

'Programing > Python' 카테고리의 다른 글

모듈  (1) 2012.05.17
파이썬 5일차 - 1  (0) 2012.05.14
파이썬 4일차  (0) 2012.05.11
파이썬 3일차  (0) 2012.05.09
파이썬 2일차 - 1  (0) 2012.05.09
Posted by 부우산사나이
: