일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 입출력 패턴
- 매크로
- 알고리즘 공부방법
- UI한글변경
- correlation coefficient
- getline
- 백준
- 프레임워크와 라이브러리의 차이
- Django란
- 구조체와 클래스의 공통점 및 차이점
- double ended queue
- 자료구조
- Django Nodejs 차이점
- 연결요소
- 장고란
- EOF
- string 함수
- c++
- string 메소드
- 시간복잡도
- vscode
- k-eta
- 2557
- scanf
- iOS14
- Django의 편의성
- 엑셀
- 표준 입출력
- 입/출력
- 이분그래프
Archives
- Today
- Total
Storage Gonie
5. Python 클래스 변수와 인스턴스 변수의 차이 & 함수 오버라이딩 본문
반응형
클래스 변수
- 모든 클래스의 인스턴스 간에 값을 공유하는 변수
인스턴스 변수
- 인스턴스마다 개별적으로 다른 값을 가지는 변수
- self.변수명으로 사용하면 인스턴스 변수가 됨.
class User:
num_users = 0 # class 변수
def __init__(self, name):
self.name = name # instance 변수
User.num_users += 1
u = User('honux')
print(User.num_users, u.name)
u2 = User('crong')
print(User.num_users, u2.name)
print(User.num_users, u.num_users, u2.num_users)
'''
1 honux
2 crong
2 2 2
'''
함수 오버라이딩
- 이미 존재하는 함수를 내가 다시 정의하는 것
- 여기서 __str__는 객체를 출력할 때 사용되는 함수인데 이것을 오버라이딩 하지 않았다면 출력시 이상한 주소값이 나왔을 것임
class Text:
def __init__(self, str):
self.text = str
def __str__(self):
return "Object: " + self.text
t = Text("This is some text")
print(t)
print(t.text)
'''
Object: This is some text
This is some text
'''
반응형
'웹개발 > Django 웹서비스 개발(인프런)' 카테고리의 다른 글
7. Python 클래스 상속 (0) | 2019.02.08 |
---|---|
6. Python 리스트 Comprehension (0) | 2019.02.07 |
4. Django 설치 및 테스트 (0) | 2019.02.07 |
3. Anaconda + Pycharm에서의 가상환경 관리 및 사용방법(Mac) (0) | 2019.02.07 |
2. Python 설치 (0) | 2019.02.07 |
Comments