Programming

; develop a program

반응형

파이썬기초 24

[Python] 예외(Exception)와 예외 처리(Exception Handling)

이번 포스팅에서는 파이썬의 예외(Exception)와 예외 처리(Exception Handling)에 대하여 공부를 해보고자 한다. 예외(Exception)와 예외 처리(Exception Handling) 예외란 함수나 메소드가 처리 도중 다음 명령문을 실행하지 못하는 상황을 말한다. 예외는 파이썬 문법이나 구문 규칙을 어겨서 때문에 발생하는 오류 (System Exception)와 프로그램 업무 규칙상 발생하는 오류 (Application Exception) 총 2가지로 구분된다. System Exception은 예외처리를 통해 해결할 수 있지만 대부분의 경우 코드를 수정해야 한다. Application Exception은 상황이 발생하면 명시적으로 예외를 발생시킨 뒤 예외처리를 통해 처리한다. 예외 ..

Back-End/Python 2022.09.30

[Python] 모듈(Module)과 패키지(Package)

이번 포스팅에서는 파이썬의 모듈(Module)과 패키지(Package)에 대하여 공부를 해보고자 한다. 모듈(Module) 모듈은 독립적인 기능을 가지고 재사용 가능한 프로그램 단위를 말한다. 함수나 변수 또는 클래스를 모아 놓은 파일이라고도 할 수 있다. 파이썬에서 모듈은 재사용 가능한 함수, 클래스 등을 작성한 소스 파일을 말한다. .py 로 저장한 하나의 파일이 하나의 모듈이 된다. 소스파일에 저장된 함수나 클래스들을 다른 python 프로그램에서 사용할 수 있다. 모듈은 라이브러리로 볼 수 있다. 모듈의 종류 파이썬에 내장된 모듈을 표준 모듈이라고 한다. 특정 개발업체나 개발자들이 만들어 배포하는 모듈을 3rd Party 모듈이라고 한다. 개발자가 재사용을 위해 직접 만든 모듈을 사용자 작성 모듈..

Back-End/Python 2022.09.29

[Python] 주요 특수 메소드 – 비교 연산자 관련 표현

이번 포스팅에서는 파이썬의 특수 메소드 중 비교 연산자 관련 표현 시 사용하는 메소드에 대하여 공부를 해보고자 한다. __eq__ 메소드 ' == '로 객체의 내용을 비교할 때 정의해야 한다. __eq__(self, other) : → self == other __lt__ / __gt__ 메소드 __lt__(self, other) : → self other max( )에서 인수로 사용할 경우 정의해야 한다. 그 외 비교 연산자 관련 메소드 __ge__(self, other): → self >= other __le__(self, other): → self other가 Person 타입인지 확인) def __eq__(self, other): result = False if isinstance(other, P..

Back-End/Python 2022.09.28

[Python] 주요 특수 메소드 – 문자열 표현

이번 포스팅에서는 파이썬의 특수 메소드 중 문자열 표현 시 사용하는 메소드에 대하여 공부를 해보고자 한다. __repr__ 메소드 인스턴스(instance)를 문자열로 바꿀 때 사용할 문자열 값을 만들어 반환한다 __repr__(self) 내장 함수 repr( )에 전달되면 반환될 문자열로 다시 eval( )에 전달하면 원래 Instance로 변환될 수 있는 문자열로 반환한다. 대화형 IDE에서 변수를 값을 출력할 때 호출하는 메소드 더보기 eval(문자열 표현식) 함수는 문자열의 표현식을 평가해서 실행한다. __str__ 메소드 __repr( )__ 과 비슷하게 인스턴스(instance)를 문자열로 바꿀 때 사용할 문자열 값을 반환(return)한다. __str__(self) 내장 함수 str( ) 나..

Back-End/Python 2022.09.28

[Python] 주요 특수 메소드 – 객체 생성/소멸

이번 포스팅에서는 파이썬의 특수 메소드 중 객체 생성/소멸 시 사용하는 메소드에 대하여 공부를 해보고자 한다. __init__ 메소드 생성자 (Initializer)로 객체를 생성할 때 호출된다. __init__(self [, …]) self는 새롭게 생성되는 instance가 전달된다. 객체 생성 시 가져야 하는 기본 인스턴스(default instance) 변수를 정의할 때 사용한다. __del__ 메소드 소멸자 (finalizer)로 객체가 소멸되기 직전에 호출된다. __del__(self) 객체는 참조 카운트가 0일 때 Garbage collection에 의해 소멸된다. 인터프리터 종료 시 아직 남아있는 객체들의 소멸자 메소드 호출은 보장되지 않는다. __call__ 메소드 객체를 함수처럼 호출할..

Back-End/Python 2022.09.28

[Python] 특수 메소드

이번 포스팅에서는 파이썬의 특수 메소드 중 객체와 관련되어 있는 메소드에 대하여 공부를 해보고자 한다. 특수 메소드 특수 메소드란 클래스에 정의하는 약속된 메소드로 객체가 특정한 상황에서 사용될 때 자동으로 호출되는 메소드들이다. 메소드 명이 더블 언더스코어(__)로 시작하고 끝난다. ex) __init__( ), n__str( )__ 매직 메소드(Magic Method), 던더(DUNDER) 메소드라고도 한다. 객체 관련 특수 메소드 isinstance(객체, 클래스 이름) 객체가 두 번째 매개변수로 지정한 클래스의 타입이면 True, 아니면 False 반환하는 메소드 객체.__dict__ 객체가 가지고 있는 instance 변수들과 대입된 값을 dictionary에 넣어 반환하는 메소드 객체.__cl..

Back-End/Python 2022.09.28

[Python] super 함수

이번 포스팅에서는 파이썬의 super 내장 함수에 대하여 공부를 해보고자 한다. 아래의 글을 먼저 보고 오면 이해하는데 도움이 될 것이다. 2022.09.27 - [Python/파이썬 기초] - [Python] 상속(Inheritance) [Python] 상속(Inheritance) 이번 포스팅에서는 파이썬의 상속(Inheritance)에 대하여 공부를 해보고자 한다. 상속(Inheritance) 상속은 기존 클래스를 확장하여 instance 변수나 메소드를 추가하는 방식을 말한다. 이미 존재하는 클 c11oud.tistory.com super 함수 super 함수는 자식 클래스(child class)에서 부모 클래스(parent class)의 인스턴스(instance)를 반환(return) 해주는 함수..

Back-End/Python 2022.09.27

[Python] 메소드 재정의 (Method Overriding)

이번 포스팅에서는 파이썬의 메소드 재정의 (Method Overriding)에 대하여 공부를 해보고자 한다. 아래의 글을 먼저 보고 오면 이해하는데 도움이 될 것이다. 2022.09.27 - [Python/파이썬 기초] - [Python] 상속(Inheritance) [Python] 상속(Inheritance) 이번 포스팅에서는 파이썬의 상속(Inheritance)에 대하여 공부를 해보고자 한다. 상속(Inheritance) 상속은 기존 클래스를 확장하여 instance 변수나 메소드를 추가하는 방식을 말한다. 이미 존재하는 클 c11oud.tistory.com 메소드 재정의 (Method Overriding) 메소드 오버라이딩은 부모 클래스(parent class)의 메소드의 구현부를 자식 클래스(ch..

Back-End/Python 2022.09.27

[Python] 정보 은닉(Information Hiding)

이번 포스팅에서는 파이썬의 정보은닉(Information Hiding)에 대하여 공부를 해보고자 한다. 정보 은닉(Information Hiding) 정보 은닉은 객체가 가진 instance 변수나 메소드를 다른 곳에서 호출하지 못하도록 하는 것을 말한다. 데이터 보호가 주목적이며, instance 변수의 값을 직접 변경하지 못하게 하고 메소드를 통해 변경, 조회하도록 만든다. C++, Java 등은 접근 제한자를 이용해 처리하는데 파이썬은 접근 제한자가 없다. 그래서 파이썬은 원칙적으로 접근 제한을 막는 방법이 없다. 정보 은닉 처리 방법 instance 변수 이름을 __ (double underscore)로 시작하고 __ 는 앞에만 붙인다. (뒤에 붙이면 안 됨) ex) self.__name = na..

Back-End/Python 2022.09.27

[Python] 객체지향 프로그래밍(OOP)

이번 포스팅에서는 파이썬의 객체지향 프로그래밍(OOP)에 대하여 공부를 해보고자 한다. 객체지향 프로그래밍(OOP) 객체 지향 프로그래밍(Object-Oriented Programming, OOP)은 말 그대로 객체를 사용하여 데이터를 표현하는 프로그래밍 기법을 말한다. 각각의 객체들은 메시지를 주고받거나 데이터를 처리할 수 있다. 객체지향 프로그래밍의 구성요소는 기본적으로 클래스, 객체, 메소드 3가지가 있다. 객체(Object)란 연관성 있는 데이터와 함수(메소드)들을 묶어서 가지고 있는 프로그램 모듈이다. 속성(Attribute)은 객체의 데이터 및 상태를 말한다. 메소드(Method)는 객체가 제공하는 기능을 말하고, 주로 객체가 가지고 있는 속성을 처리하는 기능을 제공한다. 객체는 속성(변수) ..

Back-End/Python 2022.09.26
반응형