목록분류 전체보기 (45)
지 구 여 행

정상 예제 (→) 표시한 if문과 break의 위치에 따라 결과값이 달라진다. [문제 1] 위 정상예제의 (→)표시한 if문을 elif를 이용하여 while문에 포함시키는 경우 → 남은 치킨의 수가 0이 되어도 while문이 반복된다. else문내에 order수에 따라 달라진 chicken(남은 치킨의 수)변수값 = 0 일 때, SoldOutError로 예외처리를 시키기 위해서는 else문 안에 if chicken==0: 문이 들어와야 정상 실행이 가능하다. [문제 2] 위 정상예제의 (→)표시한 break가 if문 안에 위치할 경우 → 남은 치킨의 수가 0이 되어도 while문이 반복된다. 아래 문제 예제에 (→)표시한 break는 if문을 종료하기 때문에 chicken=0이 되어도 while문이 재실..

finally 정의 가장 마지막에 오는 finally는 ①try문이 실행되든, ②예외 처리된 오류가 발생하든, ③일반적인 오류가 발생하든 무조건 실행된다. 예제 입력값 : 분류 결과값 ①try문이 실행된 경우 ②예외 처리된 오류가 발생한 경우 ③일반적인 오류가 발생한 경우 ※ 참고자료 : 나도코딩 / 파이썬 코딩 무료 강의(기본편) : https://youtu.be/kWiCuklohdY 점프 투 파이썬 05-4 예외처리 : https://wikidocs.net/30

사용자 정의 예외 처리 정의 파이썬에서 제공하는 에러가 아닌, 사용자가 원하는 에러를 직접 정의하여 예외 처리하는 방법 [방법 1] 특정 조건에서 raise를 이용 → 바로 except 블록 실행 [방법 2] 사용자가 정의한 에러로 클래스 생성 → try 블록에서 해당 클래스 호출 → except블록에서 변수로 받아 출력 ① 사용자가 정의한 에러 발생 = 입력값(a,b) 중 하나라도 20 이상의 수를 입력 → 사용자가 정의한 에러의 클래스(StringError)를 호출 raise 클래스이름("오류메시지") 예제) raise StringError("사용자가 정의한 오류입니다.") ② StringError이 호출될 때 입력한 '오류메시지'가 클래스 내부의 인스턴스(self.msg)에 담겨 반환 class 클..

예외 처리 정의 try, except를 사용하여 프로그램 오류를 예외적으로 처리하는 기능 try: --- except (발생오류 as 오류 메시지 변수): --- 예외 처리 기법 (예외처리 기능 활용 방법) 오류 메시지 예 분류 except: except 발생오류: except 발생오류 as 오류메시지변수: 입력값 try: --- except: print("잘못된 입력") try: --- except ZeroDivisionError: print("잘못된 입력") try: --- except ZeroDivionError as e: print("e") print("잘못된 입력") (오류 발생시) 결과값 잘못된 입력 (실제 발생한 오류도 ZeroDivisionError일 때만) 잘못된 입력 integer di..

클래스와 다중상속에 대한 개념 정리 (다중상속에 대한 정확한 개념 및 활용법을 숙지하기 위해 super()을 사용하지 않음) 예제 코드(Github) : https://github.com/cosmosunion/Python_troubleshooting/commit/af7f9f4d7865dbd6cc87fceca16b192c150f9cac 클래스(class)와 다중상속(multiple inheritance)에 대한 개념 정리 · cosmosunion/Python_troubleshooting@af7f9f4 * (다중상속에 대한 정확한 개념 및 활용법을 숙지하기 위해 super()을 사용하지 않음) github.com

⊙ 패스 (pass) : pass / continue / break 비교 이름 pass continue break 정의 실행할 코드 없음; 아무런 동작을 실행하지 않고 다음 순서의 코드로 넘어감 다음 순서의 loop으로 이동 loop를 중단할 때 사용 사용처 빈 함수/클래스 생성 for문에서 사용 for문에서 사용 예제 코드 def game_over(): pass def game_start() print("게임이 시작되었습니다.") game_over() game_start() for i in [1,2,3,4]: if i==3: continue print(i) for i in [1,2,3,4]: if i==3: break print(i) 출력값 게임이 시작되었습니다. 1 2 4 1 2 ⊙ super() :..

문제 이해 클래스의 객체를 print() 함수로 호출할 경우, 원하는 문자열이 아닌 와 같은 형식으로 출력되었다. 해결 방법 1. 클래스 내에 __str__ 메소드를 정의하여 객체를 문자열로 반환 2. 클래스 내에 __repr__메소드를 정의하여 객체를 문자열로 반환 __str__ __repr__ 공통점 기능 객체를 문자열로 반환시키는 함수 방법 클래스 내에 str 메소드 정의 클래스 내에 repr 메소드 정의 차이점 목적 (서로 다른 자료형의) 객체 간에 인터페이스로써 사용되는 목적 사용자가 이해가능한 표현으로 나타내기 위한 목적 예제 활용 str 메소드 반환값은 eval함수에 사용 불가능 repr 메소드 반환값은 eval함수에 사용 가능 우선순위 __str__ > __repr__ str 메소드가 정의..

⊙ 클래스(Class) : 하나의 틀 / 서로 연관이 있는 변수와 함수의 집합 예) 붕어빵 틀=Class(클래스) / 붕어빵 하나=Object(객체) 클래스를 통해 생성되는 객체 = 인스턴스(instance) 예제1) 예제2) ⊙ __init__() : '인스턴스'가 생성될 때 = 클래스가 실행될 때, 반드시 맨 처음 호출되는 특수 함수 (how Class initiates) 반드시 첫번째 인수로 self를 지정 → 함수값을 멤버변수와 함께 외부에서도 사용 가능케 함 ⊙ 멤버변수 : 클래스 내 정의된 변수 → 클래스 외부에서 변수가 확장되어 사용가능 예) self.name , self.hp, self.damage ⊙ (인스턴스)메소드 : 예) def attack() 또는 def attacked()등 클래..

⊙ 다양한 출력 포맷 : ⊙ 파일 입출력 : ⊙ Pickle : 테스트 상태의 데이터가 아닌 파이썬 객체 자체를 바이너리 형태의 파일로 저장 → 속도 빠름 ⊙ with : ①일반적으로 파일 입출력할 때 or ②바이너리 형태로 Pickle 저장할 때 활용 위에서 처럼 파일을 열고, 추가하고, 닫기를 별도로 하지 않고 with를 이용하여 한 번에 파일 종료까지 가능 ⊙ 퀴즈 : 파일 자동 생성 ※ 출처 : https://youtu.be/kWiCuklohdY

⊙ 함수(function) : def 함수이름(): ⊙ 전달값과 반환값 : def 함수이름(전달값) : 반환값 ⊙ 기본값 / 키워드값: ex) 함수내에 job="magician"등 키워드값 지정할 경우 순서는 영향X ⊙ 가변인자(*args) : 임의의 개수의 인자를 받을 수 있는 인자(arguments) +)인자를 받지 않는 것도 가능 → args로 받은 변수들은 튜플(tuple)형태로 저장 매개변수 앞에 * (별표/애스터리스크/asterisk)를 붙여 가변인자로 변경 ⊙ 지역변수와 전역변수(Local Variables, Global Variables) : ⊙ 퀴즈 연습문제 : ⊙ 표준 입출력(standard input&output) : ※ 출처 : https://youtu.be/kWiCuklohdY