본문 바로가기

프로그래밍/Python79

파이썬(python) 날짜 다루기 (feat. datetime) 파이썬(Python)에서는 datetime 모듈을 이용하여 특정 날짜의 연도, 월, 일을 계산한다거나 또는 날짜를 특정 형태로 문자열 변환하는 것이 가능하다. 이번 포스팅에서는 파이썬(Python) 내장 모듈인 datetime 모듈을 이용하여 날짜를 다루는 방법에 대해서 알아본다. datetime 사용법 1) date, time, datetime 객체 datetime 모듈에서 가장 기본이 되는 클래스는 date, time, datetime이다. 이에 대한 기본적인 생성 방법을 알아보자. a. date 객체 date 객체는 기본적으로 연(year), 월(month), 일(day)을 입력 받는다. import datetime date = datetime.date(year=2022, month=10, day=.. 2023. 3. 18.
파이썬(Python) textwrap 모듈을 이용한 긴 문장(문자열) 정리하기(생략, 줄바꿈). 너무 긴 문장을 변수에 담아서 출력한다면 읽기가 쉽지 않을 것이다. 파이썬(Python)에서 제공하는 내장 모듈 textwrap을 이용하면 긴 문장(문자열) 생략(중략)하거나 줄 바꿈을 해줄 수 있다. textwrap은 파이썬(Python) 내장 모듈이므로 파이썬 설치 시 기본적으로 깔려있다. 이번 포스팅에서는 textwrap을 통한 긴 문장 생략, 줄바꿈 방법을 살펴보고자 한다. textwrap 사용법 textwrap을 임포트하고 긴 문장을 가져오기 위해 네이버 뉴스 기사 중 일부를 발췌하여 long_text에 담았다. import textwrap long_text = '지난 3일 SM의 제3자배정 유상증자와 전환사채발행에 대해 법원이 가처분을 인용하자 9.05% 지분 확보가 무산된 카카오는 전혀 예상.. 2023. 3. 12.
파이썬(Python) typing 모듈을 이용한 annotation 세부 설정하기 파이썬(Python) 클린 코드를 작성할 때 annotation을 많이 쓴다. annotation은 변수 타입, 함수의 입출력값에 대한 타입을 표현하는 방식을 말한다. 이때 typing 모듈을 이용하면 타입을 좀 더 정교하게 표현할 수 있다. 이번 포스팅에서는 typing 모듈을 이용하여 타입 annotation 방법을 알아보고자 한다. annotation에 대한 개념은 아래 포스팅을 참고하기 바란다. [클린 코드] 2. docstring과 annotation을 이용한 코드 문서화 typing 모듈을 이용한 정교한 타입 설정 여기서는 자주 사용하는 타입에 대해서 설명한다. 1) 파이썬의 기본 객체: Set, Tuple, List, Dict typing은 파이썬 내장 모듈이므로 설치할 필요 없이 바로 임포.. 2023. 2. 21.
파이썬(Python) pickle을 이용한 파이썬 객체 저장 pickle은 파이썬(Python) 내장 모듈로써 파이썬 객체를 객체 자체로 파일로 저장할 수 있게 해주는 모듈이다. 예를 들면 리스트는 리스트로 딕셔너리는 딕셔너리로 저장된다는 것이다. 따라서 불러올 때에도 객체가 보존되어 바로 사용할 수 있다. pickle이 좋은 이유는 기존 text 파일과 비교해 보면 되는데 예를 들어 5GB짜리 text 파일을 읽어 온 다음 이 중에서 여러 곳에 흩어져 있는 문자열을 가져온다고 해보자. 그러면 전체 text를 파싱하여 필요한 부분을 찾아야 하므로 굉장히 비효율적이다. 하지만 pickle은 여러 곳에 흩어져 있는 문자열을 리스트에 담아서(물론 처음에는 text 파일을 불러와야 한다) 그 리스트 자체를 저장하면 다음부터는 불러올 때 전체 text 파일을 읽어올 필요가.. 2023. 2. 3.
파이썬(Python) ast 모듈을 이용하여 문자(String) 타입의 리스트나 튜플, 딕셔너리를 리스트, 튜플, 딕셔너리 타입으로 변환하기 (feat. literal_eval) csv나 Excel과 같은 데이터 테이블 읽다 보면 때때로 특정 칼럼에 리스트, 튜플 그리고 딕셔너리로 포함된 경우가 있다. 이를 Pandas 데이터프레임으로 불러오면 리스트(튜플, 딕셔너리)가 아닌 문자 타입으로 읽어지는 경우가 있다. 즉, 원래 객체 타입이 문자 타입으로 바뀐 것인데 ast 모듈의 literal_eval 함수를 사용하면 문자를 원래 객체 타입으로 바꿀 수 있다. 이번 포스팅에서는 해결하고자 하는 문제를 살펴보고 literal_eval 함수를 이용하여 문제를 어떻게 해결하는지 알아보고자 한다. literal_eval 사용법 1) 문제 확인 먼저 Pandas 데이터프레임을 하나 만들어보았다. 각 칼럼에 리스트, 튜플 그리고 딕셔너리를 갖도록 했다. 그러고 나서 각 칼럼의 첫 번째 원소 타.. 2023. 1. 19.
파이썬(Python) 여러 패키지(Packages, 모듈) 한번에 설치하기 (feat. pip install -r requirements.txt) 파이썬(Python)에서는 여러 패키지(Packages, 모듈)를 한 번에 설치하는 할 수 있는 방법 제공하고 있다. 방식은 텍스트 문서에 설치할 모듈과 버전을 적은 다음 'pip install -r 텍스트파일' 명령을 터미널에서 실행하면 된다. 이때 텍스트 파일 이름은 보통 requirements.txt를 쓴다. 이번 포스팅에서는 설치할 패키지 목록을 뽑는 방법과 해당 목록을 한 번에 설치하는 방법을 알아본다. 여러 패키지(Packages, 모듈) 한번에 설치하기 (feat. pip install) 먼저 현재 가상환경에서 사용하고 있는 모듈은 다음과 같다. 이제 설치된 패키지 목록을 뽑아보자. 아래 명령어를 쳐주면 된다. pip freeze > requirements.txt 그러면 위 명령을 실행한 경.. 2023. 1. 13.
파이썬(Python) unittest 모듈에 대해서 알아보자. 이번 포스팅에서는 파이썬(Python)에서 단위 테스트를 위한 여러 가지 기능을 제공하는 unitttest 모듈에 대해서 알아보고자 한다. 단위 테스트를 위해 태어난 unittest 1) 단위 테스트란? 단위 테스트는 특정 함수가 하나의 시나리오(한 단위)에 대하여 예상대로 작동하는지 확인하는 테스트이다. 2) unittest 사용법 unittest는 3단계의 과정을 거친다. 1 단계) 먼저 검사하고자하는 함수를 정해준다. 당연하게도 단위 테스트는 특정 함수가 제대로 동작하는지 보고자 하는 것이므로 테스트하고자 하는 함수를 정해준다. import unittest ## 검사하고자하는 함수 def func(arg): return arg 2 단계) 검사를 수행할 클래스를 작성한다. 검사를 수행할 클래스를 정의.. 2022. 10. 23.
파이썬(Python) string 모듈에 대해서 알아보자. 이번 포스팅에서는 파이썬(Python)에서 제공하는 string 모듈에 대해서 알아보고자 한다. string 모듈이란? 1) string 모듈? 넌 누구야? (내가 생각하는) string 모듈은 특정 분류에 따른 문자 집합을 제공하는 모듈이다. 2) string이 제공하는 문자 집합 string은 알파벳, 숫자, 특수문자 그리고 공백과 같은 문자 집합을 제공한다. 아래 코드를 보고 그 사용법을 익힐 수 있다. import string print('알파벳 관련') print(string.ascii_letters) ## 알파벳 대문자 소문자 모두 print(string.ascii_lowercase) ## 알파벳 소문자 print(string.ascii_uppercase) ## 알파벳 대문자 print() p.. 2022. 10. 21.
파이썬(Python) fractions 모듈을 이용한 분수 표현, 분수 연산하기(feat. Fraction) 파이썬(Python) 코딩 중에 분수를 다뤄야 할 일이 있었는데 fractions라는 좋은 모듈이 있었다. fractions 모듈은 분수를 다룰 수 있는 훌륭한 모듈이라고 생각한다. 따라서 이번 포스팅에서는 fractions 특히 Fraction 클래스 사용법에 대하여 소개하려고 한다. fractions 모듈 알아보기 1) 분수는 나한테 맡겨라! : Fraction fractions 모듈을 알아본다는 것은 결국 Fraction 클래스를 알아본다는 것과 동일하다고 보면 된다. Fraction은 기본적으로 첫 번째 인자에 분자, 두 번째 인자에는 분모를 넣어준다. 아래 코드는 2/4를 나타낸 것이다. from fractions import Fraction print(Fraction(2, 4)) ## 2/4 .. 2022. 10. 12.
파이썬(Python) - 딕셔너리의 키가 없는 경우 기본값(디폴트값) 설정하기 (feat. setdefault, defaultdict) 딕셔너리는 파이썬(Python)에서 많이 이용하는 객체로 키(Key)와 값(Value) 쌍으로 이루어져 있다는 특징이 있다. 파이썬(Python)에서는 그 중에서 딕셔너리에 포함되지 않은 키(Key)가 있는 경우 해당 키에 대한 기본 값을 설정할 수 있는 setdefault, defaultdict가 있다. 이번 포스팅에서는 setdefault, defaultdict의 사용법을 알아보려고 한다. setdefault, defaultdict 사용법 1) setdefault setdefault 함수는 첫 번째 인자가 기존 딕셔너리 키에 포함되지 않는다면 새로운 키를 생성한 뒤 두 번째 인자를 값으로 설정한다. setdefault 사용법은 아래와 같다. setdefault( 키, 값 ) 아래 코드를 통하여 set.. 2022. 9. 29.

맨 위로