Backend/Python

Python 파이썬 생성자, 클래스 예제 01

쏠솔랄라 2023. 7. 4. 09:27

 

 

Exercise1

 

 

Mobile      휴대전화 클래스
(항목)      이름, 통신사, 가격
(메소드)    disp(출력)
(생성자)    알아서~
(setter, getter)

 

 

class Mobile:
    count = 0

    #생성자
    def __init__(self,name = None,tel = None,price = 0) -> None:
        Mobile.count+=1
        self.__no = Mobile.count
        self.__name = name
        self.__tel = tel
        self.__price = price
    
    @property
    def name(self):
        return self.__name
    
    @name.setter
    def name(self,name):
        self.__name = name

    @property
    def tel(self):
        return self.__tel

    @tel.setter
    def tel(self,tel):
        self.__tel = tel

    @property
    def price(self,price):
        self.__price = price
    
    @price.getter
    def price(self):
        return self.__price

    def disp(self):
        print("모델명 : {}".format(self.__name))   
        print("통신사 : {}".format(self.__tel))   
        print("가격 : {}만원".format(self.__price))   

    @classmethod
    def mobileList(cls,ls:list):
        print("\tname\ttel\tprice")
        for i in range(ls.__len__()):
            print("[{}]\t{}\t{}\t{}만원".format(ls[i].__no,ls[i].__name,ls[i].__tel,ls[i].__price))

 

 

클래스를 만들고 아래의 객체를 생성한 뒤 정보를 화면에 출력
   name telecom price
[1] G6          LG     70만원
[2] 아이폰7      KT      95만원
[3] Galaxy S8 SKT     90만원

 

 

m1 = Mobile("G6","LGT",70)
m2 = Mobile("아이폰7","LGT",70)
m3 = Mobile("갤럭시8","LGT",70)

m1.disp()
m2.disp()
m3.disp()

Mobile.mobileList([m1,m2,m3])