Q. 클래스를 이용하여 주소록 만들기

class Member:
    def __init__(self,id,pwd,name,email):
        self.id = id
        self.pwd = pwd
        self.name = name
        self.email = email

    def printMember(self):
        print('id:',self.id)
        print('pwd:',self.pwd)
        print('name:',self.name)
        print('email:',self.email)


def main():
    c1 = Member('hodu', '121', 'YB', 'hodorotorl@gmail.com')
    c1.printMember()

    c2 = Member(name='Yb', pwd='1212312', id='박호두', email='hodorotorl')
    c2.printMember()

    c3= c2
    c3.name = '가나다'
    c3.email = 'rksksk@naver.com'
    c3.printMember()
    c2.printMember()
    
main()

 

 

 

Q. 다양한 형태의 멤버 변수 활용

class Point:
    def __init__(self, x=0, y=0):
        self.x =x
        self.y =y
    def printPoint(self):
        print('좌표:(',self.x,',',self.y,')')

class Test:
    def __init__(self):
        self.num =0
        self.s=''
        self.arr=[]
        self.point =None   #객체. 포함관계:클래스타입의 멤버변수 / 관계(포함관계-has a, 상속관계-is a)

    def printData(self):
        print('num:', self.num)
        print('s:', self.s)
        print('arr:', self.arr)
        self.point.printPoint()

def main():
    t1 = Test()   #객체 생성
    t1.num = 10
    t1.s = 'hello class'
    t1.arr.append(1)
    t1.arr.append(2)
    t1.arr.append(3)
    t1.point = Point(3,4)   #개중요!!
    t1.printData()

main()

 

Point로 좌표 찍는 것이 활용도가 높으니 예제로 많이 다뤄두자.

 

+ Recent posts