ㅋ파이썬의 꽃이라는 클래스에대해 알아보고 모듈, 예외처리 및 파이썬 라이브러리에 대해 알아 보자!!
클래스는 함수나 변수들을 모아놓은 집합이다.
클래스의 가장 간단한 예
class simple:
pass
아무 기능도 없는 클래스다. 외관만 클래스다. 하지만 이 클래스도 인스턴스라는 것을 만들 수 있다는데... 인스턴스가 뭘까?
=>인스턴스는 클래스에 의해 만들어진 객체로 한개의 클래스는 무수히 많은 인스턴스를 만들어 낼 수가 있다고 한다.
인스턴스를 만드는 방법
a=simple()
바로 simple()의 값을 돌려 받은 a가 인스턴스 이다. 함수를 사용해 그 결과 값을 돌려 받는 모습과 비슷하다.
클래스 변수
>>>class service:
. . . secret = "나는 손가락이 열 한개다."
위 클래스 이름은 service다.
>>>pey = service()
위 처럼 하면 service라는 클래스에 가입이 된다.
secret을 알아 낼 수 있다.
>>>pey.secret
"나는 손가락이 열 한개다."
위 처럼 아이디에 가입된 클래스에서 제공하는 변수 사이에 (.)을 찍으면 알 수 있다.
클래스 함수
---------------------------------------------------------
>>>class service:
. . . secret = "나는 손가락이 열 개다."
. . . def setname(self,name)
. . . self.name = name
. . . def sum(self,a,b):
. . . result = a+b
. . . print "%s님 %s + %s = %s입니다." %(self.name,a,b,result)
. . .
>>>
>>>pey=service()
>>>pey.setname("정상민")
>>>pey.sum(1,1)
정상민님 1 + 2 = 3입니다.
---------------------------------------------------------
self가 뭐지??
=> self는 파이썬 만의 독특한 변수다. 왜 self를 쓰는가는 파이썬 언어 그 자체를 보아야 한다고 한다.
우리는 그냥 클래스내의 함수의 첫번째 인자는
"무조건 self로 시작을 해야 인스턴스의 함수로 사용할 수 있다." 라고만 알아두자.
__init__가 뭐지??
---------------------------------------------------------
>>>class service :
. . . secret = "나는 손가락이 열 개다."
. . . def __init__(self,name):
. . . self.name = name
. . . def sum(self,a,b):
. . . result = a+b
. . . print "%s님 %s + %s = %s 입니다." %(self.name,a,b,result)
. . .
>>>
>>>pey = service("정상민")
>>>pey.sum(1,2)
"정상민님 1 + 2 = 3 입니다."
---------------------------------------------------------
__init__를 쓰고 안쓰고의 차이는 다 눈치를 챗을 것이다.
그렇다 빨간색으로 색칠된 글짜 부분은 같은 의미를 갖는 것이다.
__init__를 사용하면 더 간단해 진다는 것이다!!
클래스 파고들기
클래스의 구조
---------------------------------------------------------
class 클래스 이름[(상속 클래스명)]:
<클래스 변수 1>
<클래스 변수 2>
. . .
def 클래스 함수1(self[,인수1,인수2,,,,]):
<수행할 문장 1>
<수행할 문장 2>
. . .
def 클래스 함수2(self[,인수1,인수2,,,,]):
<수행할 문장 1>
<수행할 문장 2>
. . .
. . .
---------------------------------------------------------
클래스 이름 뒤에 상속할 클래스가 있다면 할 클래스 이름을 쓴다.
위의 예제에서
>>>pey = housej()
>>>pey.travel("독도")
위 처럼 하면 에러가 날 것이다. setname이 생략되어서 나는 오류다.
위 처럼 하기 위해서는 아까 위에서 본 __init__가 생각난다.
위에는 __init__를 사용하였다. 더 간단해졌다.
setname 부분이 __init__로만 바꿧는데도 간단해 졌다.
__del__ 함수 인스턴스가 사라질 때 호출된다.
>>>pey=housej("상민")
>>>del pey
위 처럼 하면 파이썬의 내장함수인 del에 의해 pey라는 인스턴스를 소멸시킬 수 있다.
간단하다.
상속
다른 클래스의 기능을 물려받는 것이 파이썬에서의 상속이다.
밑의 예제가 상속을 보여준다.
'파이썬 스터디 과제 > 점프투 파이썬' 카테고리의 다른 글
점투파-4_2(파이썬 날개달기) (0) | 2015.01.11 |
---|---|
점투파-3(입출력) (0) | 2015.01.11 |
점투파-2(자료형과 제어문) (0) | 2015.01.11 |
점투파-1(파이썬이란 무엇인가?) (0) | 2015.01.10 |
댓글