🍃 Language/Python
[python] Class와 __init__함수
카프리썬_
2021. 9. 6. 20:08
728x90
728x90
Class() 클래스
객체(object)를 만들어내기 위한 틀?
클래스 없이 단순히 def(함수)로만 정의할수도 있지만,
함수가 많아지면 관리하기 힘들어지니까 비슷한 종류?카테고리?의 함수들끼리 class로 묶어서 정의하는걸 권장
#클래스 없이 함수로만 정의할 경우
def some_function(something):
print(something)
#클래스로 정의할 경우
class SomeClass:
def __init__(self,something):
self.something = something
def some_function(self):
print(self.something)
__init__ 함수
클래스로 생성된 걸 보면 __init__ 이라는 내장함수가 필요하다.
인스턴스화를 할때 반드시 처음에 호출되는 함수로, 객체에 대한 초깃값을 설정해준다.
항상 첫번째 인수로 self를 지정하고, self에는 인스턴스 자체가 전달된다고 보면 된다.
만약 파라미터를 받게 될 경우 별도의 인수를 생성하면 된다.
인스턴스
클래스에 정의된 데이터나 함수를 사용하기 위해서 인스턴스를 생성해야한다.
하나의 클래스에 여러개의 인스턴스를 생성할 수 있고, 각 인스턴스가 다른 데이터를 가질 수도 있다.
이때 some_value라는 파라미터를 받아서 초기화를 진행하고, 그 값을 가지고 함수를 호출한다.
# 위의 클래스에서 some_value라는 파라미터를 받은 인스턴스를 생성하고
# some_function()함수를 호출한다.
a = SomeClass("some_value")
a.some_function()
class MyStatus:
def __init__(self,age,name,height,weight):
self.age = age
self.name = name
self.height = height
self.weight = weight
def print_age(self):
print(self.age)
def print_name(self):
print(self.name)
def print_height(self):
print(self.height)
def print_weight(self):
print(self.weight)
728x90
반응형