Language/Python

[Python] 4_클래스

Deveun 2021. 5. 6. 21:31

- 파이썬 클래스 기초

(생성자, 메소드, 클래스변수, 상속)

# class 
# pass는 아무것도 수행하지 않는 문법. 임시 코드
class Sample:
    pass

# Constructor (__init__)
# 객체 생성시에 자동 호출
class Sample:
    def __init__(self, a, b): # self == 객체 자신/ #setdata 기능
        self.a = a
        self.b = b
      
# Method
class Sample:
	def setdata(self, a, b):
    	self.a = a
    	self.b = b
### 사용
sample = Sample()
sample.setdata(1, 2) # Use1
Sample.setdata(sample, 1, 2) # Use2
# sample.a == 1, sample.b == 2

# 클래스 변수
class Family:
    lastname = "Kim"
    ...
a = Family()
b = Family()	# >>> a.lastname == b.lastname == 'kim'
### 클래스 변수 변경 시 모든 객체의 값 변경 (값 공유)
Family.lastname = 'park'	# >>> a.lastname == b.lastname == 'park'

# 상속 (Inheritance)
### class 클래스 이름(상속할 클래스 이름)
class One(Two):	
    pass
# One은 Two의 모든 기능을 사용할 수 있음
# One에서 Two의 메소드를 다시 정의할 수 있음 (오버라이딩)