Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- GIT
- class
- 클래스
- array
- SSL
- 저장소
- SpringBoot
- Java
- Dict
- 자바스크립트
- AssertJ
- JavaScript
- Python
- 자바
- thread
- 파이썬
- event
- JS
- synchronized
- 프로그래머스스쿨
- StringBuilder
- Docker Desktop
- 객체
- 스프링부트
- docker
- 메소드
- Swing
- 배열
- join()
- c#
Archives
- Today
- Total
정리노트
[파이썬/python] [클래스] 클래스변수 본문
일반적으로 클래스 변수는 아래 두 가지의 상황에 사용한다.
1. 모든 객체에 하나의 변수와 그 안의 데이터를 일정하게 사용하고 싶을 때
(인스턴스 변수는 객체를 통하여 사용이 된다. 즉, 객체마다 인스턴스 변수의 값은 각기 다른 값을 다루게 된다.)
>> __init__ 메소드 밖 class 안에서 선언 <<
응용으로
몇 개의 객체가 생성되었는지 궁금하다면
클래스변수 = 0 선언. 초기화 하고
원하는 클래스 내부 메소드에
클래스변수 += 1 을 걸어두면된다.
(이처럼 생성되는 객체가 같은 변수를 통해 데이터를 공유할 수 있다)
class Dog:
kind = "Bulldog" # 클래스 변수 선언 > __init__ 메소드 밖 class 안에서 선언
def __init__(self, name, age):
self.name = name
self.age = age
a = Dog("Del", 2)
b = Dog("Piero", 3)
print(a.kind) # // Bulldog
print(b.kind) # // Bulldog
print(Dog.kind) # // Bulldog
print(a.name) # // Del
print(b.name) # // Piero
2. 상수를 지정하고 싶을 때
>> __init__ 메소드 밖 class 안에서 선언 <<
대문자로 네이밍
class Dog:
KIND = "Bulldog" # 클래스 변수(상수 = 대문자) 선언 > __init__ 메소드 밖 class 안에서 선언
def __init__(self, name, age):
self.name = name
self.age = age
a = Dog("Del", 2)
b = Dog("Piero", 3)
print(a.kind) # // Bulldog
print(b.kind) # // Bulldog
print(Dog.kind) # // Bulldog
print(a.name) # // Del
print(b.name) # // Piero
728x90
'프로그래밍 > Python' 카테고리의 다른 글
[파이썬/python] [튜플] 기본원리 (0) | 2022.09.28 |
---|---|
[파이썬/python] [클래스] 특수 메소드 (0) | 2022.09.28 |
[파이썬/python] [클래스] private 변수 / 접근자와 설정자 (0) | 2022.09.28 |
[파이썬/python] [클래스] 객체생성, 기본원리 연습-정리 (0) | 2022.09.25 |
[파이썬/python] [클래스] 객체 생성, 기본정의 (1) | 2022.09.20 |