본문 바로가기

Python19

[Poetry] Poetry 2.0 shell & requirements.txt install poetry add $(cat requirements.txt)​eval "$(poetry env info --path)/bin/activate"# 또는 poetry add $(cat requirements.txt) Poetry는 Python 프로젝트의 의존성 관리와 패키징을 도와주는 강력한 도구이다. Poetry 2.0 이후부터 poetry shell 명령어의 동작 방식이 변경되면서 기존의 방식이 일반적인 방법에서는 동작하지 않는다. 본 글에서는 Poetry 2.0 이후 변경된 shell 실행 방식과 함께, requirements.txt를 통한 의존성 설치 방법도 정리해보자.기존의 방식은 아래와 같았다.$ poetry shell하지만 Poetry 2.0부터는 shell 명령어가 더 이상 자동으로 she.. 2025. 6. 29.
[Python] 파이썬 - 19. Class에서 Attribute란? 파이썬 클래스에서 attribute란?파이썬을 조금만 깊게 다뤄보면 ‘attribute’라는 용어를 자주 만나게 된다.처음에는 변수랑 똑같아 보이기도 하고, 뭔가 클래스 내부에 있는 것 같기도 해서 헷갈릴 수 있다.이번 글에서는 파이썬 클래스에서의 attribute가 무엇이고, 어떻게 동작하는지 예제를 통해 정리해봤다. 1. attribute는 클래스 내부의 데이터다쉽게 말하면, attribute는 클래스나 객체 내부에 정의된 **변수나 함수(메서드)**를 뜻한다.객체가 가지고 있는 상태(state)나 동작(method) 자체를 통틀어 attribute라고 부른다.class Person: name = "Alice" def say_hello(self): print("Hello!")p.. 2025. 5. 31.
[Python] 파이썬 - 18. 정적 메소드와 클래스 메소드 파이썬의 클래스메소드 vs 정적메소드 — 언제, 왜 써야 할까?파이썬에서 @classmethod와 @staticmethod는 클래스 수준에서 메서드를 정의할 수 있게 해주는 데코레이터다.예전 글에서 기본적인 차이를 다뤘다면, 이번에는 어떤 상황에서 무엇을 써야 하는지를 조금 더 실전적인 예제와 함께 정리해보았다. 인스턴스 메서드 vs 클래스 메서드 vs 정적 메서드기본 개념은 다음과 같다: 구분 설명 첫 번째 인자 인스턴스 메서드일반적으로 사용하는 메서드self클래스 메서드클래스를 대상으로 작동하는 메서드cls정적 메서드클래스나 인스턴스와 관계없는 독립적인 함수없음 클래스 메서드 사용 예시 – 팩토리 메서드클래스 메서드는 주로 클래스를 통해 객체를 생성하는 팩토리 역할에 자주 쓰인다.class Us.. 2025. 4. 30.
[Python] 파이썬 - 16. 스트링 앞에 0, 원하는 문자열로 채우기(zfill, rjust) 문자열의 자릿수를 맞춰야 할 때가 종종 있다.특히 ID처럼 고정 길이 문자열이 필요한 경우, 문자열 앞에 0을 붙이거나 특정 문자로 공백을 채워야 할 때가 있다.파이썬에서는 이를 위한 유용한 메서드들이 준비되어 있다.zfill() — 문자열 앞을 0으로 채우기zfill()은 문자열의 왼쪽을 0으로 채워 특정 길이로 맞춰준다.print("42".zfill(5)) # 👉 '00042'print("-7".zfill(4)) # 👉 '-007'음수 부호가 앞에 있어도 0은 그 다음부터 채워진다. rjust() — 오른쪽 정렬 + 원하는 문자로 채우기rjust()는 문자열을 오른쪽 정렬하고 왼쪽을 원하는 문자로 채운다.print("42".rjust(5)) # 👉 ' 42' .. 2025. 2. 28.
[Python] 파이썬 - 15. is와 == dml 차이 파이썬에서 동일한 것을 비교하는 구문은 두 가지가 있다. 등호가 두 개 붙어있는 연산자 '=='와 파이썬 만의 고유 문법인 'is'가 존재한다.보통 둘은 구분을 하지 않고 사용한다. 그럼, 이 두 연산자는 아무런 차이가 없을까? 다음 코드를 보자. is: 두 객체의 메모리 주소가 같은지 (즉, 같은 객체인지) 여부를 확인한다.- 예를 들어, a is b는 a와 b가 같은 메모리 주소를 가리키는지 확인합니다.- is 연산자는 동일 객체 참조 여부를 검사하는 데 사용됩니다.- 참조 여부값까지 동일해야한다. ==: 두 객체의 값이 같은지 확인한다.-  a == b는 a와 b의 값이 동일한지를 비교합니다.- == 연산자는 객체의 내용(값)을 비교합니다.- A와 B의 참조값(메모리주소)의 동일 여부와는 상관없이 .. 2024. 11. 24.
[Python] 파이썬 - 14. 튜플(Tuple) Tuple이란 Tuple은 리스트와 굉장히 유사하게 사용된다. 리스트가 []를 사용한다면 튜플(Tuple)은 ()을 사용한다.그리고 순서의 변경, 중복된 값에 대해선 허용하지만, 생성된 Tuple에 대해서 수정, 삭제하는것은 불가능 하다는 것이 List와의 큰 차이점이다tu = (1, 2, 3, 4, 3, 2, 1, 0)print(tu, type(tu)) 만약 Tuple을 삭제하거나 수정하려한다면 아래와같은 에러가 발생하는것을 볼 수있다.del tu[0]# TypeError: 'tuple' object doesn't support item deletiontu[1] = 5# TypeError: 'tuple' object does not support item assignmentExample리스트와 마찬가지.. 2024. 6. 5.