관리 메뉴

FU11M00N

[Python] 파이썬 생성자와 소멸자 본문

Programming/Python

[Python] 파이썬 생성자와 소멸자

호IT 2020. 11. 10. 17:06

초기화 메소드 : __init__()


• 객체가 생성된 후 가장 먼저 호출되며 자동으로 호출되는 메소드
• “초기화하다”는 뜻의 initialize를 줄여서 붙여진 이름
• 첫번째 매개변수는 self 이며 이후에 매개변수 추가 가능
• self 이외의 매개변수가 있는 초기화 메소드를 만들면 인스턴스를 생성할 때
매개변수를 넘겨주어야 합니다.
• 인스턴스 변수를 초기화 하기 위한 목적으로 주로 작성

 


소멸자 :__del__()

• 객체가 소멸될 때 자동으로 호출되는 메소드
• 외부 자원을 사용하는 경우 해제하는 코드를 주로 작성
• self 이외의 매개변수를 받지 않습니다

 

- 문제 1

문제 1

- 문제 1 Code

class Four_rules_calculation:
    def __init__(self,a,b):
        self.a=a
        self.b=b

    def add(self):
        c = a+b
        print("%d + %d =%d" %(a, b, c));
        return c
    def sub(self):
        c = a - b
        print("%d - %d = %d" % (a, b, c))
        return c
    def mul(self):
        c = a * b
        print("%d * %d = %d" %(a, b, c))
        return c

    def div(self):
         c = a / b
         print("%d + %d = %.1f" % (a, b, c))
         return c




a=int(input())
b=int(input())

cal = Four_rules_calculation(a,b)

cal.add()
cal.sub()
cal.mul()
cal.div()


문제 1 결괏 값

문제 1 결괏 값.

 

 

 

- 문제 2

문제 2

- 문제 2 Code

class Student:
    def __init__(self,kor_num,Eng_num,math_num):
        self.kor_num= kor_num
        self.Eng_num= Eng_num
        self.math_num = math_num

    def add(self):
        sum= kor_num+Eng_num+math_num
        return sum
    def avg(self):
        avg=sum/3
        return avg

    def print_student(self):
        print("%s 번 ==> 총점 = %d 점, 평균 =%.1f 점"%(snum,sum,avg))
while True:
    snum=input("학번 입력")
    if(snum=="0"):
        break
    kor_num=int(input("국어 성적"))
    Eng_num=int(input("영어 성적"))
    math_num=int(input("수학 성적"))

    cal=Student(kor_num,Eng_num,math_num)
    sum=cal.add()
    avg=cal.avg()
    cal.print_student()

문제 2 결괏 값

문제2 결괏 값

Comments