python 3

thisown 속성: Python과 C++ 객체 메모리 관리의 이해

thisown이란?thisown은 Python과 C++ 간 객체 메모리 소유권을 관리하기 위해 사용되는 속성입니다. SWIG(Simplified Wrapper and Interface Generator)를 통해 Python과 C++를 연결할 때 생성된 객체의 소유권(즉, 메모리 관리 책임)이 Python에 있는지 C++에 있는지를 명시적으로 제어할 수 있습니다.thisown의 동작 원리Python과 C++ 메모리 관리 차이:Python: 가비지 컬렉터로 메모리를 자동 관리.C++: 수동 메모리 관리를 사용하며, 명시적으로 객체 생성 및 삭제 필요.소유권 플래그:thisown = True: Python이 객체의 소유권을 가짐.Python에서 객체가 삭제될 때 C++ 메모리도 해제됨.thisown = Fal..

Union이 뭐고 왜 사용하는가?

Union은 Python의 typing 모듈에서 제공하는 타입 어노테이션으로, 변수나 함수의 매개변수, 반환값이 여러 타입 중 하나일 수 있음을 나타낼 때 사용됩니다. Union을 통해 코드에서 여러 타입을 허용해야 할 때 가독성을 높이고, 타입 안정성을 강화할 수 있습니다.Union의 주요 특징다양한 타입 허용: Union은 타입을 제한하면서도 여러 타입을 허용할 수 있어, 함수나 클래스가 다양한 입력을 유연하게 처리할 수 있도록 해줍니다. 예를 들어, Union[int, str]는 해당 변수나 매개변수가 int 또는 str 타입일 수 있음을 나타냅니다.타입 안전성 강화: Union을 사용하면 코드 내에서 여러 타입의 데이터를 허용하면서도 각 타입에 맞는 처리를 할 수 있어, 잘못된 타입 사용을 방지할..

사용툴 분석 2024.11.08

(python 설치 에러) A newer version of the Python launcher is already installed

배경ollama 프로젝트중에 알수없는 에러로 진행안됨.알고보니 python 3.12였는데, 3.11.5로 다운그레이드하면 의존성이 더 좋다는 후기가 들림python 3.11.5를 다운받아 설치하는데 에러가 뜸A newer version of the Python launcher is already installed 과정프로그램 추가제거에서 3.12버전 삭제 후 3.11.5 재설치같은 에러재부팅 후 재설치 같은에러프로그램 추가제거에 python launcher도 있길래 얘도 삭제3.11.5 재설치 성공  결론python 버전을 다운그레이드 할땐, python launcher까지 같이 삭제시켜주자