파이썬_9일차_학습일지

이새롬·2023년 2월 9일
0

학습일지

목록 보기
3/8

✏️ 밑줄

globals()

전역변수를 수정할 수 있게 해주는 global 키워드와는 또다른
globals()함수
아직 이해가 덜 되어 검색을 해보니 변수명 지정에 자동화가 필요할 때 쓰는 함수이다.

g1Price = 1200; g2Price = 1000; g3Price = 800;
g4Price = 2000; g5Price = 900;

    for g in gcsDic.keys():
        totalPrice += globals()[f'{g}Price'] * gcsDic[g]

위에 예제는 갯수별 가격의 총합을 위해
globals()이 변수명을 지정해준 것을 for문이 돌며 호출해주는 것.
globals()[f'{g}Price'] 변수인 g1Price,g2Price,…,g5Price를 호출해준 것이다.
print로 찍어서 보면

👀 다시보기

유효성 검사를 raise를 활용하여 해결

class EmptyDataException(Exception):
    def __init__(self, i):
        super().__init__(f'{i} is empty.')

def checkInputData(n, m, p, a, ph):
    if n == '':
        raise EmptyDataException('name')
    elif m == '':
        raise EmptyDataException('mail')
    elif p == '':
        raise EmptyDataException('password')
    elif a == '':
        raise EmptyDataException('addres')
    elif ph == '':
        raise EmptyDataException('phone')

class RegistMember():
    def __init__(self,n, m, p, a, ph):
        self.m_name = n
        self.m_mail = m
        self.m_pw = p
        self.m_addr = a
        self.m_phone = ph
        print('Membership complete!!')

    def printMemberInfo(self):
        print(f'm_name: {self.m_name}')
        print(f'm_mail: {self.m_mail}')
        print(f'm_pw: {self.m_pw}')
        print(f'm_addr: {self.m_addr}')
        print(f'm_phone: {self.m_phone}')

💬 코멘트

오늘은 중급 문제풀이 예외처리 ~ 텍스트파일까지의 수업이였다.
문제풀이는 예제를 따라하고 동작하는건 재밌는데, 가야할 길이 멀다보니
아쉬움이 진하게 남는다.

위에 다시보기로 회원가입 공백 유효성을 넣은 건 뭔가 복잡하게 생각했던 코드를
의외로 단순하게 ''처리 하나로 끝냈다는 것과 개념만 이해하고 넘어갔던 raise의 활용.

역시 백문이 불어일타 ⌨⌨⌨⌨⌨

0개의 댓글