티스토리 뷰
[클래스]
현실세계에 있는 것을 코드로 표현할 수 있습니다.
예를 들어 사람이라는 객체를 만들어 볼게요
사람은 이름, 체중 이라는 정보를 가지고 있습니다.
식사를 하면 체중이 증가 합니다.
실제 사람에서 필요한 것만 뽑아서 객체로 만들때 이러한 과정을 추상화 라고 합니다.
class human :
def __init__(self, name):
self.name = name
self.weight = 1
def eat(self, food):
self.weight += food
human 이라는 클래스를 정의 했습니다.
__init__ 라는 함수는 human 이라는 클래스의 생성자로 최초 생성 될때 불리게 되는 함수 입니다.
클래스의 모든 함수에는 self 가 첫번째 인자이고 이것은 따로 넘겨주지 않아도
python 에서 자동으로 넘겨준다.
self 는 human 이라는 클래스의 인스턴스 자체를 의미 합니다.
사람이라는 클래스가 있다면 철수, 제임스, 영호 가 인스턴스에 해당한다.
인스턴스는 해당 클래스 타입의 변수다.
다음과 같이 인스턴스를 생성해야 클래스를 실체화하여 사용할 수 있습니다.
h = human("kim")
h.eat(10)
print(h.name,h.weight)
[더블언더스코어]
파이썬에서는 __ 로 시작하는 함수가 존재한다.
위에서 배운 __init__ 도 이것에 포함된다.
파이썬에서 __은 더블언더스코어 혹은 던더 라고 불린다.
더블언더스코어가 붙는 함수는 미리정의 되어 있는 특별한 이름의 함수 이다.
클래스에서 사용되는 __init__ 이외에 __str__ 도 알아보자
class human :
def __init__(self, name):
self.name = name
self.weight = 1
def eat(self, food):
self.weight += food
def __str__(self):
return 'name={} weight={}'.format(self.name, self.weight)
이렇게 정의할 수 있다.
중요한건 문자열을 return 하고 있다.
print(h)
print 문의 인풋은 문자열이 들어가기 때문에 인스턴스를 넣으면
해당 인스턴스를 대표하는 문자열 __str__ 이 호출된다.
[정적변수]
클래스의 멤버 변수를 정의해 봤습니다.
어떤 공간에 공들을 추상화하였다.
여기서 받는 중력값은 모튼 인스턴스가 공통의 값을 가진다.
class Thing:
gravity = 9.8
@staticmethod
def set_gravity(gravity):
Thing.gravity = gravity
t1 = Thing()
Thing.set_gravity(10)
print(Thing.gravity)
[과제]
- 체육관의 회원을 클래스로 추상화 해보자
- __str__ 을 이용하여 회원정보를 출력해보자
- 회원정보는 나이,이름,등록한 달수 , 함수는 기간연장, 탈퇴
'python lecture > basic' 카테고리의 다른 글
[edu] 파이썬 시작하기 - 8 (0) | 2018.08.29 |
---|---|
[edu] 파이썬 시작하기 - 6 (0) | 2018.08.28 |
[edu] 파이썬 시작하기 - 4 (0) | 2018.08.27 |
[edu] 파이썬 시작하기 - 3 (for, 반복문) (0) | 2018.08.26 |
[edu] 파이썬 시작하기 - 2 (0) | 2018.08.25 |
- Total
- Today
- Yesterday
- virtualenv
- 장고 카톡 자동응답
- 면접답변
- gitlab
- django chatbot
- 문서 비교
- PuTTYGen
- 엑셀 비교
- admin.py
- 플러스친구 자동응답
- 면접정답
- chatbot
- django
- 파이썬 프로그래밍
- pycrypto
- wsgi
- 파이썬 독학
- gitignore
- 문과 코딩
- 장고
- GIT
- Tistory
- 모바일 테마 적용
- 장고 플러스친구 자동응답
- 파이썬
- 파이썬 입문
- Python
- 모바일 스킨 적용
- 파이썬 강좌
- 이미지 비교
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |