기타/What I Learned

[Python] 클래스

가죽방패 2021. 8. 8. 06:24

※ 자료형

type(a) # type(변수명) : 자료형
isinstance(1, int) # isinstance(값, 자료형) : 자료형 검사​

 

※ 클래스 : 함수나 변수를 모아둔 집합체

 

※ 인스턴스

  • 클래스에 의해 생성된 객체
  • 인스턴스 각자가 자신의 값을 가짐
# 클래스 선언
class Coding():
	'''코딩'''
    
# 인스턴스 생성
coding1 = Coding()
coding2 = Coding()

클래스와 인스턴스를 이용하면 데이터와 코드를 사람이 이해하기 쉽게 포장할 수 있음

 

※ 모델링(modeling) : 클래스로 현실의 개념을 표현하는 것

 

※ 메소드(Method)

  • 메소드는 함수와 유사함
  • 클래스에 묶여서 클래스의 인스턴스와 관계되는 일을 하는 함수
# 클래스 내부에 함수를 포함시킨 예시

class Human( ):
	'''인간'''
	def create( name, weight ):
		person = Human()
		person.name = name
		person.weight = weight
		return person

	def eat( self ):
		self.weight += 0.1
		print("{}가 먹어서 {}kg이 되었습니다".format(self.name, self.weight))

	def walk( self ):
		self.weight -= 0.1
		print("{}가 걸어서 {}kg이 되었습니다".format(self.name, self.weight))

person = Human.create("철수", 60.5)
person.eat()

※ self

  • 메소드의 첫번째 인자
  • 인스턴스의 매개변수를 전달 할 때는 self 매개변수는 생략

초기화 함수 : __init__ 인스턴스를 만들 때 실행되는 함수

문자열화 함수 : __str__ 인스턴스 자체를 출력 할 때의 형식을 지정해주는 함수

class Human( ):
	'''인간'''
	def __init__( self, name, weight ):
		'''초기화 함수'''
		self.name = name
		self.weight = weight

	def __str__( self )
		'''문자열화 함수
		return "{} ( 몸무게 {}kg )".format( self.name, self.weight )

person = Human( "사람", 60.5 ) # 초기화 함수 사용
print( person ) # 문자열화 함수 사용