Coding 35

[Python] Progress Bar(tqdm)을 깔끔하게 출력하는 방법은 무엇일까?

tqdm을 이용해서 for문이 실행될 때마다 실행결과를 확인하기 위해 print을 실행한다면 VSCode나 Jupyter에서 사진과 같이 출력된다. 이때 깔끔하게 출력하는 방법에 대해 알아보자. tqdm 기초는 여기를 보면 된다.Jupyter와 VSCode에 대해 각각 설명하겠다. 일단 결론부터 말하자면 다음과 같은 코드를 사용하면 된다.from tqdm.auto import tqdm  Jupyter에서 tqdm 사용방법tqdm 라이브러리 내부의 notebook 모듈을 사용하면 간단하게 해결된다. from tqdm.notebook import tqdmimport timefor i in tqdm(range(100)): print(1) time.sleep(0.1) VSCode에서 tqdm 사용방법..

Coding/Python 2024.05.30

[Python] decorator(데코레이터)에 대해 알아보자

Python FastAPI를 공부하면서 데코레이터를 알게 되었는데 왜 어떻게 작동하는지 잘 이해가 가지 않아서 공부를 하게 되었고 이에 대해 내가 알게된 점에 대해 소개해보려고 한다. 코드는 여기에서 확인할 수 있다. 데코레이터란 무엇인가?데코레이터는 파이썬의 고급 기능 중 하나로, 함수나 메서드에 코드를 수정하지 않고 기능을 주입하는 방법입니다. 함수를 여러 기능으로 사용해야 하며 코드에 수정을 가하지 않을 때 자주 사용한다. 데코레이터는 함수로 인자를 받고, 함수를 감싸는 래퍼(wrapper)를 정의하여, 함수에 추가적인 기능을 할 수 있도록 한다.  데코레이터를 사용하는 이유는?사용하는데 여러가지 이유가 있다.코드 재사용 : 코드가 중복될 때 함수를 사용하는데 이때 함수를 여러 방법으로 사용하기 위..

Coding/Python 2024.05.29

[Python] pydantic에 대해 알아보자

FastAPI를 공부하면서 pydantic 라이브러리에 대해 알게 되었고, pydantic document를 보게 되면서 공부를 하게되어서 공부하고 깨달은 점에 대해 소개하고자 작성하게 되었습니다. Pydnatic overview Pydantic은 Python의 타입 힌트를 활용하여 데이터 유효성 검사와 설정 관리를 자동화하는 강력한 라이브러리입니다. 개발자가 데이터 모델을 정의할 때 명확한 데이터 타입을 지정함으로써, Pydantic은 이 모델을 기반으로 데이터의 유효성을 자동으로 검증합니다. 이 과정에서 데이터 타입의 불일치나 필드의 누락과 같은 문제를 즉각적으로 식별하고 처리할 수 있습니다 다시말하면, 명시해준 데이터 타입과 입력에 대해 data validation을 진행합니다. 이 때, 타입이 다..

Coding/Python 2024.04.21

[Python] Docstring에 대해 알아보자

안녕하세요, 오늘은 Python에서 사용하는 Docstring에 대해 설명해드릴려고 합니다. Docstring이란? Docstring은 Python에서 함수, 클래스, 모듈이나 메소드 등 첫 번째 줄에 위치하며, 코드의 목적이나 동작을 설명하는데 사용됩니다. 파이썬의 help함수를 이용해서 Docstring에 접근할 수 있으며, 코드의 이해를 돕고 다른 개발자들이 코드를 더 쉽게 사용할 수 있도록 합니다. 예시 >>> help(len) len(obj, /) Return the number of items in a container. Docstring 기본 구조 함수나 메소드의 Docstring: 함수의 작동 방식, 매개변수, 반환 값, 발생할 수 있는 예외 등을 설명합니다. 클래스의 Docstring: ..

Coding/Python 2024.04.16

[Python] tqdm - Python에서 진행률을 시각적으로 표시

오늘은 Python에서 긴 작업을 처리할 때 진행상황을 알 수 있도록 나타내주는 'tqdm'과 'trange'이 사용됩니다. 이 도구들을 사용하는 방법에 대해 소개해드리려고합니다. tqdm이란? 'tqdm'은 아랍어로 "진행"을 의미하는 단어에서 유래했으며, Python에서 반복 작업의 진행 상황을 프로그레스 바 형태로 표시해주는 라이브러리입니다. 사용 방법은 매우 간단하여, 기존의 for 루프나 반복 가능한 객체에 tqdm() 함수를 적용하기만 하면 됩니다. 파라미터 설명 및 구현 주요 파라미터 ncols : 진행률 표시줄의 너비(문자 단위)입니다. 자동 조정을 원하면 None을, 최대 너비로 하고 싶으면 0을 설정 ascii : True로 하면 '#'문자로 진행바가 표시 desc : 진행률 표시줄 앞..

Coding/Python 2024.03.20

[Python] getattr, setattr, hasattr, delattr 함수 사용법 정리

이번에는 클래스의 attribution(속성)에 접근하고, 수정하는 데 사용되는 내장함수에 대해 소개하려고 합니다. 왜 사용하는가 이 함수들을 통해 객체의 속성을 동적으로 조작할 때 유용하게 사용합니다. 특히 객체 지향 프로그래밍에서 이러한 기능은 유연성을 제공하여 동적으로 수정하는데 매우 큰 도움이 되는 함수들입니다. getattr getattr 함수는 객체의 특정 속성 값을 가져옵니다. 만약 그 속성이 존재하지 않을 경우 선택적으로 기본값(default)을 반환할 수 있습니다. # 사용법 getattr(object, name[, default]) 속성이 존재하는 경우 class Person: def __init__(self, name, age): self.name = name self.age = ag..

Coding/Python 2024.01.18

[Python] assert, 가정 설정문 사용법 정리

이번 포스팅에서는 디버깅에 자주 사용되는 가정 설정문(assert)에 대해 작성해보려고 합니다. assert는 왜 사용하는가? 가정 설정문(assert)은 파이썬에서 디버깅을 목적으로 사용되는 구문입니다. 이는 프로그램이 특정한 조건을 만족하는지 확인하며, 그렇지 않을 경우 프로그램을 중단시키며 오류 메시지를 출력합니다. 이때 오류 메시지는 직접 설정할 수 있습니다. 주로 코드가 잘 작동하는지 검증하거나, 개발 과정에서 오류를 발견하기 위해 사용됩니다. assert문 기본적인 형식 assert 조건, 오류 메세지 조건 : 검사하고자 하는 조건, 조건이 True인 경우, 아무 일도 일어나지 않고 코드는 진행됩니다. 오류 메세지 : 조건이 False인 경우, 표시될 메시지입니다. 이 메시지는 작성할 수 있으..

Coding/Python 2024.01.17

[Python] Jupyter Notebook 가상환경 커널 추가 및 삭제

이번에는 Jupyter Notebook에 가상환경을 추가하고 삭제하는 방법에 대해 소개해드리겠습니다. Jupyter Notebook에서 다음과 같이 Terminal창에 접속합니다. 가상환경 생성 python -m venv myvenv python3 또는 python을 이용하며 myvenv(가상환경)을 생성합니다. 가상환경 활성화 source myvenv/bin/activate Linux환경에서 다음과 같은 명령어를 통해 myvenv(가상환경)을 실행합니다. ipykernel 설치 pip install ipykernel 커널을 추가하기 위해 ipykernel을 설치합니다. 커널 추가하기 python -m ipykernel install --user --name=myvenv myvenv를 ipykernel을..

Coding/Python 2024.01.11

[Python] *args 와 **kwargs의 차이

이번 포스팅은 함수의 매개변수에서 입력받는 *args와 **kwargs에 대해 알아보겠습니다. 아마 인공지능이나 여러 코드를 보면 다음과 같은 코드를 마주칠 일이 있을 겁니다. def args_and_kwargs(*args, **kwargs): 다음과 같이 *와 **로 인자를 받는 함수를 보셨을 겁니다. 이 함수의 차이에 대해서 설명해 드리겠습니다. *args 가변 위치 인자(Variable Positional Arguments) * args는 함수에 가변적인 개수의 비키워드 인자를 전달할 때 사용 인자들을 튜플의 형태로 입력을 받음 함수를 정의하면서 비키워드 인자의 수를 모를 때 사용 위의 말이 어렵다면 예시를 통해 설명해 드리겠습니다. def print_args(*args): print(type(ar..

Coding/Python 2024.01.03

[Python] 문자열 템플릿(string Template)

파이썬에서 유용한 string의 Template 라이브러리에 대해 소개하고자 합니다. 파이썬을 조금이라도 다뤄보신 분이라면 문자열 포매팅이 얼마나 자주 사용되는지 아실 텐데요, string.Template는 이러한 문자열 포매팅을 더 안전하고 명확하게 해주는 훌륭한 도구입니다. 그중에서 함수 subtitute에 대해 소개해드리려고 합니다. 선언 방법 from string import Template template = Template(str) # Template에 추가할 문자열 대체할 문자열 표시하는 방법 첫번째 방법 : $ 와 공백을 사용하여 표시 from string import Template text = "Hello, my name is $name and my hobby is $hobby" # n..

Coding/Python 2023.12.30