-
Python Class 기초AI/Python 2020. 12. 18. 14:52728x90
프로그램언어를 다루면 클래스를 대부분 사용한다.
Python에서의 클래스 사용법을 간단하게 연습해 보았다.
#Class 클래스 class Pet: # 클래스 선언(클래스명은 대문자로 시작) color = "" kind = "dog" character = "home_grown" strength = 100 def walk(self, do): self.strength = self.strength - do def eat(self, do): self.strength = self.strength + do def sleep(self, do): self.strength = self.strength + do poodle = Pet() poodle.color = 'brown' poodle.walk(15) print(poodle.color) print(poodle.strength) siam = Pet() siam.kind = 'cat' print(siam.kind) class Pet2: # 클래스 선언(클래스명은 대문자로 시작) def __init__(self, color, kind, character): #<-생성자 self.color = color self.kind = kind self.character = character self.strength = 100 color = "" kind = "dog" character = "home_grown" strength = 100 def walk(self, do): self.strength = self.strength - do def eat(self, do): self.strength = self.strength + do def sleep(self, do): self.strength = self.strength + do poodle2 = Pet2('brown', 'dog', 'active') siam2 = Pet2('white', 'cat', 'quietly') print(poodle2.color) poodle2.walk(15) print(poodle2.strength) siam2.eat(20) print(siam2.strength) #클래스 상속(Inheritance) Pet2클래스의 변수 및 메소드를 사용한다. class Animal(Pet2): def walk(self, do): #메소드 오버라이드 if self.strength <= 0: print("체력이 없습니다.") else: self.strength = self.strength - do simba = Animal("yellow", "tiger", "active") simba.walk(100) print(simba.strength) simba.walk(100) print(simba.strength) #사칙연산 계산기 class Calcul: def __init__(self, fr, se): self.fr = fr self.se = se def hap(self): result = self.fr + self.se return result def cha(self): result = self.fr - self.se return result def gob(self): result = self.fr * self.se return result def div(self): result = self.fr / self.se return result cal1 = Calcul(6,8) print(cal1.hap()) cal2 = Calcul(5,2) print(cal2.div())
여기서 의문은 클래서 생성자사용시에 이 self
상속받은 클래스의 변수를 사용하려면
self.변수명 = 변수명
이걸 하는 이유를 모르겠다. 어디 누가 설명 좀 시원하게 해줬으면 좋겠다.
단순히 선언하는거 같은데 생성자에 포함시켜버리면 안되는 것이었던가...
728x90반응형'AI > Python' 카테고리의 다른 글
Python File 읽기 쓰기 기초 (0) 2020.12.18 Python 모듈 기초 random, time (0) 2020.12.18 Python 함수 Function (0) 2020.12.18 Python 조건문, 반복문 (0) 2020.12.18 Python 기초 자료형 (0) 2020.12.17