본문 바로가기

프로그래밍/Python79

파이썬(Python) - 예외(Exception) 클래스(Class) 만들기 파이썬(Python)에는 여러 가지 예외 클래스들이 있다. 각 클래스들은 특정 오류가 발생하면 호출되는 객체들로서 파이썬에 내장되어 있다. 이때 우리가 원하는 예외 클래스를 만들 수도 있다. 이번 포스팅에서는 예외 클래스를 만드는 방법에 대하여 알아본다. 예외 클래스(Class) 만들기 예외 클래스는 어렵지 않게 만들 수 있다. 먼저 1) 클래스를 정의할 때 부모 객체를 Exception으로 하여 상속받고 2) 초기화 메서드를 정의할 때 부모 객체의 초기화 메서드를 호출하고 이때 인자로 원하는 메시지를 삽입하면 된다. 아래 코드는 변수가 짝수인 경우 예외처리를 위한 클래스를 만든 것이다. class EvenNumberException(Exception): ## Exception을 상속받아야한다. def .. 2022. 9. 28.
파이썬(Python) - 제너레이터(generator)에 대해서 알아보자. 파이썬(Python)에서는 제너레이터(generator)라는 것이 있는데 이는 메모리 절약을 위한 용도로 사용된다. 이번 포스팅에서는 제너레이터(generator)에 대하여 알아보려고 한다. 제너레이터(generator) 1) 제너레이터(generator) 넌 누구냐?! 제너레이터(generator)는 쉽게 말해 return이 아닌 yield 문을 이용하여 순회 가능한(Iterable) 객체를 만들어내는 함수이다. 2) 제너레이터(generator) 생성하기 제너레이터는(generator)는 순회 가능한 객체를 yield 문으로 넘겨줘야 한다. 다음은 제너레이터를 생성하는 함수이다. def generator(iterable): for x in iterable: yield x 또한 제너레이터 컴프리헨션을 .. 2022. 9. 27.
파이썬(Python) - 객체(Class, 클래스) 타입 확인 및 일치 여부 (feat. type, isinstance) 파이썬(Python)에서는 주어진 객체가 어떤 클래스(타입)인지 알려주는 type 클래스와 해당 객체가 특정 클래스인지 아닌지 확인해주는 isinstance 함수가 있다. 이번 포스팅에서는 type와 isinstance에 대하여 알아본다. type와 isinstance 사용법 1) 너 누구야? 객체 확인하기 : type type은 객체(클래스)가 어떤 객체(클래스)인지 알려주는 클래스이다. type은 첫 번째 인자로 객체를 받는다. 아래 코드를 통해 사용법을 알아보자. class MyClass: def __init__(self, x=None): self.x=x a = 'hello world!' b = range(3) c = MyClass() print(type(a)) print(type(b)) print.. 2022. 9. 27.
파이썬(Python) - 클래스(객체) 속성 존재 확인, 속성 변경하기, 속성 값 확인, 속성 삭제 (feat. hasattr, setattr, getattr, delattr) 파이썬(Python)에는 클래스(또는 객체)의 속성을 다루는 여러 가지 함수들이 존재한다. 속성이 존재하는지 알려주는 hasattr, 속성을 값을 변경하는 setattr, 속성 값을 확인하는 getattr 그리고 속성을 삭제하는 delattr이 있다. 이번 포스팅에서는 이러한 속성 관련 함수들의 사용법을 알아보고자 한다. 클래스(객체) 속성 존재 확인, 속성 변경하기, 속성 값 확인, 속성 삭제 (feat. hasattr, setattr, getattr, delattr) 1) 속성의 생사를 확인하라! : hasattr hasattr는 객체 안에 해당 속성이 있는지 여부를 부울(bool)값으로 알려준다. 먼저 예제용 클래스(Person)를 정의하고 인스턴스를 생성해준다. class Person: def _.. 2022. 9. 26.
파이썬(Python) 셋(Set)에 대하여 알아보기 파이썬(Python)에는 셋(Set)이란 객체가 있다. 셋(Set)은 수학 시간 때 배운 집합의 개념과 동일하다. 따라서 셋(Set) 안에는 유니크한 원소들만 담겨있게 된다. 이번 포스팅에서는 파이썬(Python)의 셋(Set) 객체에 대해서 알아보려고 한다. 셋(Set)에 대해서 알아보자. 1) 셋(Set) 생성하기 a. 기본 셋을 생성할때에는 중괄호({ }) 안에 원소를 콤마로 구분하여 넣어주는 식으로 생성한다. a = {'a', 'b', 'c'} a 그렇다면 빈 셋(Empty Set)은 어떻게 생성할까? 다음과 같이 set( )을 해주어야 한다. { }은 비어있는 딕셔너리를 의미하므로 혼동하지 않도록 하자. empty_set = set() ## {}과 혼동하지 말자 empty_set b. 문자열과 .. 2022. 9. 22.
파이썬(Python) tqdm 사용법 알아보기 이번 포스팅에서는 tqdm 사용법을 알아보려고 한다. 파이썬(Python)에서 반복 루프를 돌다 보면 진행이 얼마나 되었는지 Progress Bar를 통해 알 수 있다. 이처럼 반복문에서 진행률을 Progress Bar로 표현해주고 남은 시간 정보까지 알려주는 것이 바로 tqdm이다. 이제 구체적인 사용방법을 알아보자. tqdm 사용법을 알아보자 1) 기본 tqdm은 기본적으로 순회가능한 객체(리스트, 튜플, 이터레이터 등)를 첫 번째 인자로 넣어주고 for 문에 삽입하면 된다. from tqdm import tqdm import time for i in tqdm(range(10)): ## tqdm 첫 번째 인자에 순회가능한 객체 전달 time.sleep(0.01) 아래와 같이 변수에 할당해서 사용할 수.. 2022. 9. 21.
파이썬(Python) 튜플(Tuple)과 리스트(List)의 공통점과 차이점 파이썬(Python) 코딩을 하는 사람이라면 반드시 알고 있어야 하는 객체로 튜플(Tuple)과 리스트(List)가 있다. 하지만 필자는 이들의 공통점과 차이점을 잘 알지 못했는데 이번에 알게된 내용을 포스팅하고자 한다. 튜플(Tuple)과 리스트(List)의 공통점과 차이점 1) 공통점 a. 길이를 갖는다. 튜플(Tuple)과 리스트(List)는 길이가 있다. 따라서 len 함수를 사용할 수 있다. a = [1,2,3] ## 리스트 b = (1,2,3) ## 튜플 print('a의 길이 :', len(a)) print('b의 길이 :', len(b)) b. 언패킹(Unpacking)이 가능하다. 언패킹(Unpacking)이란 여러 변수를 한 번에 할당하는 것을 말한다. 튜플(Tuple)과 리스트(Lis.. 2022. 9. 19.
파이썬(Python) 데코레이터(Decorator)에 대해서 알아보자 (feat. @) 파이썬(Python)에서는 데코레이터(Decorator)라는 것이 있다. 뭔가를 꾸미는 장식가라는 의미의 데코레이터(Decorator)라는 단어에서 알 수 있듯이 데코레이터(Decorator)는 다른 함수를 꾸며주는 함수로써 다른 함수의 추가 기능을 부여할 때 사용된다. 이번 포스팅에서는 데코레이터의 사용법을 알아보려고 한다. 데코레이터(Decorator)로 함수를 꾸며보자 먼저 꾸밀 함수를 정의해보자. 아래 코드에서 정의된 함수는 'Sleeping'이라는 문자열을 출력하고 3초간 잠을 자는(아무것도 안 하는) 함수이다. import time def f(): ''' Just Function ''' print('Sleeping') time.sleep(3) 1) 데코레이터(Decorator) 만들기 이제 위.. 2022. 9. 19.
파이썬(Python) 리스트(List) 정렬하기 (feat. sort, sorted) 리스트(List)를 정렬하는 방법에는 sort, sorted를 이용하는 방법이 있다. 이번 포스팅에서는 리스트를 정렬하는 방법을 알아본다. 리스트 정렬(기본, 순서 반전, key) 1) 기본 sort와 sorted는 사용 방식이 같다. 차이점은 sort는 내부적으로 정렬되어 원본에 저장되는 반면 sorted는 정렬된 복사본을 생성한다는 것이 차이점이다. l = ['a', 'x', 'd', 'w', 'p', 'b'] l.sort() ## 내부적으로 정렬한 뒤 원본에 정렬 결과를 저장 print(l) l = ['a', 'x', 'd', 'w', 'p', 'b'] l = sorted(l) ## 복사본이 생성되므로 l에 다시 그 결과를 할당해주어야한다. print(l) 2) 순서 반전 sort와 sorted는 .. 2022. 9. 17.
파이썬(Python) 리스트(List) 속에 원소 존재 여부, 원소 위치, 등장 횟수 알아보기 (feat, in, index, count) 파이썬(Python)에서 리스트(List) 안에 원소가 존재하는지 존재한다면 어느 위치에 있고 몇 번 등장하는지 알 수 있다. 이번 포스팅에서는 in, index, count를 이용하여 원소 존재 여부, 원소 위치, 등장 횟수를 알아보는 방법을 소개한다. 리스트(List) 속 원소 존재 여부, 존재 위치, 등장 횟수 1) 원소 존재 여부 : in in을 이용하면 특정 원소가 리스트(List) 안에 존재하는지 여부를 알 수 있다. l = ['a', 'b', 'c'] print('a' in l) ## 'a'가 존재하는가 print('f' in l) ## 'f'가 존재하는가 2) 원소 위치 : index index 함수에 특정 원소를 넣어주면 해당 원소의 위치를 알려준다. l = ['a', 'b', 'c'] .. 2022. 9. 17.

맨 위로