Backend/Python 37

Python 파이썬 예외 처리 모듈 traceback

traceback : except로 처리할 때는 무슨 예외 인지 알기가 어렵기 때문에 어떤 예외 인지 파악할 수 있도록 만들어 주는 모듈 traceback.format_exc() : 개발용 콘솔 로그 예외 발생시 발생되는 로그를 띄어주는 메소드 import traceback while True: try: a = int(input("정수 입력 : ")) b = int(input("정수 입력 : ")) if b == 0: raise ZeroDivisionError("0을 입력하실수 없습니다.") print("{} + {} = {}".format(a,b,a + b)) print("{} - {} = {}".format(a,b,a - b)) print("{} × {} = {}".format(a,b,a * b)) ..

Backend/Python 2023.07.06

Python 파이썬 예외 처리 try except

예외 : 외부적인 요인으로 인해 발생되는 에러 프로그램 실행 도중에 발생되는 에러 에러 문법상의 문제 프로그램이 실행되지 않는다 예외 처리 예외 발생시 프로그램 오류를 처리하는 구문 try 예외 감시 영역 필수 except 예외 처리 영역 필수 finally 필수코드 선택 else 예외가 발생하지 않을 경우 실행되는 영역 선택 import traceback while True: try: a = int(input("정수 입력 : ")) b = int(input("정수 입력 : ")) except: print("정수만 입력하셔야 합니다.") try: print("{} + {} = {}".format(a,b,a + b)) print("{} - {} = {}".format(a,b,a - b)) print("{}..

Backend/Python 2023.07.06

Python 파이썬 상속 : 바인딩, 추상클래스, 다중상속, 상속 예제 풀이

바인딩 : 실제 호출될 함수를 연결하는 것 정적바인딩 : 호출할 함수를 변수의 타입으로 결정하는 것 동적바인딩 : 호출할 함수를 인스턴스 공간의 타입으로 결정하는 것 다형성 : 다양한 형태나 성질 하나의 객체를 여러개의 클래스로 표현하는것을 말한다 상속이 기본 클래스를 기능별로 분리하여 통합적인 처리를 하기위해서 사용된다 업캐스팅을 바탕으로 이루어진다 부모의 참조형변수 안에 자식클래스의 인스턴스 공간의 정보가 저장되는 형태 class Animal: def __init__(self,name) -> None: self.name = name def bark(self): print("????????") def disp(self): print("이름 : {}".format(self.name)) class Cat(..

Backend/Python 2023.07.05

Python 파이썬 상속 기본 개념

상속 : 클래스끼리 물려주거나 물려받는 것 물려준 클래스(부모클래스,super)의 속성과 기능을 물려받는 클래스(자식클래스,sub)에서 사용이 가능하도록 만들고 추가적인 표현을 통하여 새로운 클래스를 만드는 문법 상속의 목적 클래스의 재사용(재활용) 프로그램의 유연성(추가, 수정, 삭제, etc.)을 증대 시키기위해서 사용 상속 시 주의 사항 1. 자식이더라도 부모의 private 멤버는 접근 불가 2. 자식클래스에서 부모클래스를 명시 형식 class 자식클래스명(부모클래스명) : 코드정의 class Bumo: def disp(self): print("내가 부모다!") class JaSik(Bumo): def info(self): print("내가 자식이다!") j = JaSik() j.disp() j...

Backend/Python 2023.07.05

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

Exercise3 Mobile 휴대전화 클래스 단순히 만드는 것에 그치지 말고, 안정성을 높이기 위해 다음과 같이 강제 구현 [1] 이름은 한번 설정하면 절대로 변경할 수 없습니다 [2] 가격은 아무리 싸게 설정해도 40만원 미만은 불가능합니다 ex. 20만원으로 설정시 40만원으로 설정되도록 [3] 통신사나 가격 등은 계속 변경 설정이 가능하도록 (객체 생성 후 아래의 내용을 구현) name telecom price [1] 갤럭시8 SKT 300000 [2] G6 LG 330000 [3] 아이폰7 KT 510000 아이폰과 갤럭시8의 가격을 비교하여 비싼 휴대폰 이름을 출력 class Mobile: def __init__(self, name, tel=None, price=400000): self.__n..

Backend/Python 2023.07.04

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

Exercise2 Player 게임 캐릭터 클래스(Player) (항목) 아이디(id), 레벨(level), 공격력(attack), 체력(hp) (메소드) disp(정보출력), +@(필요하다면) (생성자) 알아서 (특징) 1. 캐릭터 생성시 레벨은 1, 공격력 5, 체력 20 2. 레벨이 증가할 경우 공격력은 3, 체력은 10씩 증가 class Player: def __init__(self,id = None,lev = 1) -> None: self.__id = id self.__lev = 1 self.__atk = 5 self.__hp = 20 self.set_lev(lev) def set_lev(self,lev): if self.__lev >= lev: return gap = lev - self.__l..

Backend/Python 2023.07.04

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

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): r..

Backend/Python 2023.07.04

Python 파이썬 데코레이션 : 어노테이션

데코레이터 == 어노테이션 : 바로 아래에 있는 영역에 강제적인 의미를 부여하는 키워드 @뒤에 알맞은 키워드를 함께 적고 밑에 코드를 구현 setter : 멤버변수의 값을 셋팅하는 메소드 1.메소드를 통한 접근 def set_멤버변수명(매개변수): 코드 정의 2.데코레이터를 사용하는 방식 @멤버변수명.setter def 멤버변수명(self,매개변수): 코드 정의 getter : 멤버변수의 값을 반환 하는 메소드 1.메소드를 통한 접근 def get_멤버변수명(): return 멤버변수 2.데코레이터를 사용하는 방식 @property def 멤버변수명(self): return self.멤버변수명 property : 클래스의 멤버변수 class Info: def __init__(self,name = None..

Backend/Python 2023.07.04

Python 파이썬 접근 제한자(지정자, 제어자)

접근 제한자(지정자,제어자) : 클래스의 멤버를 접근을 단계적으로 제한할수 있는 키워드 정보은닉을 위해서 사용한다 멤버명 앞에 붙여서 적어준다 종류 private : [__] 클래스 내부에서만 접근 가능 ; 그외의 외부에서는 모두 접근 불가 일반적으로 별다른 제약이 없으면 멤버 변수는 private으로 설정된다 protected : [_] 상속받은 클래스에서는 접근 가능 ; 그외의 외부에서는 접근 불가 실제 런타임상의 제약사항이 아니다 잘 사용되지 않는 접근 지정자 public : X 클래스 내부와 외부 모두 접근 가능 기본 디폴트 값 일반적으로 별다른 제약이 없으면 멤버 메소드는 public 으로 설정된다 class Info: def __init__(self,name = None,age = 0) -> ..

Backend/Python 2023.07.04

Python 파이썬 생성자 객체 생성 순서

생성자 : __init__ : 객체 생성시 단 한번만 호출되는 멤버 메소드 객체 초기 설정을 위해서 사용한다 공부하는 동안 주로 멤버변수 초기화의 용도로 사용할 것 멤버변수 생성 ; 다른 객체의 값 셋팅 객체 생성 순서 공간 할당 -> 생성자 호출 생성자는 정의 하지 않으면 자동으로 만들어 진다 ; 코드없음 ; 기능 없음 객체 생성 순서 유지를 위해서 만들어진다 -> None : 반환값의 형태를 명시하는 부분 반환값이 없다 self == this : 자기 자신을 호출한 인스턴스공간의 정보를 저장하는 참조형변수 멤버 메소드에서만 사용 가능한 매개변수 멤버 메소드라면 반드시 적혀야 한다 인자값은 넣지 않아도 자동으로 참조 된다 멤버를 참조하기위한 참조형변수 class Info: count = 0 def __..

Backend/Python 2023.07.04