본문 바로가기
10. 클래스(class)/객체지향 이해하기

[파이썬 클래스와 객체지향] 6. 객체지향 2단계

by 만다린망고 2023. 5. 24.
반응형

3강에서 작성한 코드를 객체지향 형태로 바꿔봅시다. 3강에서 작성한 코드는 아래와 같습니다. 

 

mylist=[]
mnum=0

#def usem()

while True :

    print() #한 줄 띄기
    print('Add member : press a')
    print('search member : press b')
    action=input('press button ')

    if action=='a' :

        print() #한 줄 띄기
        #inputs
        name = input('enter your name? ')
        name = name.lower() # force lowercase
        age = int(input('enter your age? '))
        sex = input('enter your sex? ')
        sex = sex.lower() # force lowercase
        mcount=int(input('enter your membership count ')) #membership count

        #define dict
        dict={'mnum':mnum,'name':name,'age':age,'sex':sex,'mcount':mcount}

        #add in list
        mylist.append(dict)

        #print info
        print('Below is your information')
        print(dict)

        mnum=mnum+1


    elif action=='b' :

        while True : 

            print() #한 줄 띄기
            mn = int(input('what is the membership number? ')) #input 값 숫자에 넣기

            first_values=[]
            for my_dict in mylist:
                first_values.append(list(my_dict.values())[0])

            if mn in first_values :
                print(mylist[mn])
                break
            else :
                print('none exist member')
                continue

    else :
        print()
        print('no button exist')

 

아래는 클래스를 사용하여 객체지향 형태로 바꾼 것입니다. 

 

class member():
    def __init__(self,name,age,sex,mcount,mnum) :
        self.name=name
        self.age=age
        self.sex=sex
        self.mcount=mcount
        self.mnum=mnum

    def show(self):
        print(' Name:', self.name)
        print(' age:', self.age)
        print(' sex:', self.sex)
        print(' mcount:', self.mcount)
        print()


mylist=[]
mnum=0

#def usem()

while True :

    print() #한 줄 띄기
    print('Add member : press a')
    print('search member : press b')
    action=input('press button ')

    if action=='a' :

        print() #한 줄 띄기
        #inputs
        name = input('enter your name? ')
        name = name.lower() # force lowercase
        age = int(input('enter your age? '))
        sex = input('enter your sex? ')
        sex = sex.lower() # force lowercase
        mcount=int(input('enter your membership count ')) #membership count

        #define dict
        mylist.append(member(name,age,sex,mcount,mnum))

        #print info
        print('Below is your information')
        print('')

        mnum=mnum+1


    elif action=='b' :

        while True : 

            print() #한 줄 띄기
            mn = int(input('what is the membership number? ')) #input 값 숫자에 넣기

            first_values=[]
            for memb in mylist:
                first_values.append(memb.mnum)

            if mn in first_values :
                mylist[mn].show()
                break
            else :
                print('none exist member')
                continue

    else :
        print()
        print('no button exist')
반응형

댓글