-
220718_부트캠프시작_python_3주_1일차 (복기)bigdata_bootcamp_12th/daily review 2022. 7. 18. 22:29
1. 네비게이션 업데이트 서비스 만들기
print('안녕하세요 MS내비 업데이트 서비스 알림입니다.') def navigation() : try : import datetime today = datetime.datetime.now() li_y = int(input('내비 구매 연도를 입력해주세요 ex) 2022 (yyyy) ')) li_m = int(input('내비 구매 월을 입력해주세요 ex) 07 (mm) ')) li_d = int(input('내비 구매 일자를 입력해주세요 ex) 18 (dd) ')) if today.year - li_y > 1 : print("무료 업데이트 대상자입니다. 무료 업데이트를 진행합니다. ") elif today.year - li_y == 1: if today.month - li_m > 0 : print("무료 업데이트 대상자입니다. 무료 업데이트를 진행합니다. ") elif today.month - li_m == 0 : if today.day - li_d > 0 : print("무료 업데이트 대상자입니다. 무료 업데이트를 진행합니다. ") else : print("무료 업데이트 대상자가 아닙니다. 유료 업데이트를 원하시는 경우 010-3021-7819 김민식 과장에게 연락부탁드립니다. ") except Exception as error_all : print('올바른 형식이 아닙니다. 다시 시작해주세요. ', error_all) navigation()
try와 except 를 이용해 형식 오류가 나면 에러메세지를 출력
if와 elif 그리고 datetime 을 이용한 년 -> 월 -> 일 순으로 4년이 지났으면 무료 업데이트 대상자 출력 아니면 무료업데이트 일자 출력으로 간단한 구성을 통해 복습 완료
2. class(self 사용), method(static, classmethod), @property @함수이름.setter
1) class 지정 후 self.인스턴스 = '기본값'
- self.인스턴스 를 통해 클래스변수가 아닌 객체변수 (인스턴스변수) 를 활용하여 추후 지정한 인스턴스마다
각각 객체를 부여하여 사용 가능. (쉘로우 카피방식으로 같은 변수에 데이터가 들어가도 주소값이 변하여 다름)
- ex
class Person: 성별 = '남자' # 클래스 변수 def __init__(self, 이름, 나이): # __inti__ 을 통해 self 지정 (인스턴스 변수 지정) self.__이름 = 이름 # __는 고정 값을 뜻함 self.__나이 = 나이
2) method(static, classmethod)
@staticmethod # 고정된, 한번 만들어놓으면 자식 클래스에서도 같은 방식으로 동작 def method1(): return Person.nation @classmethod # 해당 클래스에 맞게 메서드가 다른 지점을 참조하여 동작 def method2(aa): print('aa', aa) return aa.성별
3) @property @함수이름.setter
@property def outer_age(self): # getter - 값을 받아오는 함수 print('나이 출력 합니다.') return self.__나이 # 함수를 통하여 리턴 값을 받아 직접적인 변경 제한 (은닉) @outer_age.setter # 함수명.setter def outer_age(self, 나이): # setter - 값을 변경하는 함수 사용하여 제작자만 변경가능하게 print('나이 변경 합니다.') if isinstance(나이, int): # isinstance(age, int) int 클래스 출신인지 확인하는 명령어 self.__나이 = 나이 else: print('숫자 아님 저리가세요!')
'bigdata_bootcamp_12th > daily review' 카테고리의 다른 글
220721_데이터분석_NumPy_3주_3,4일차(복기) (0) 2022.07.21 220719_데이터분석_NumPy_3주_2일차(복기) (0) 2022.07.19 220715_부트캠프시작_python_2주_5일차 (복기) (0) 2022.07.17 220714_부트캠프시작_python_2주_4일차 (복기) (0) 2022.07.14 220713_부트캠프시작_python_2주_3일차 (복기) (0) 2022.07.13