Language
python exception 일반적인 처리 방식과 Contextlib.suppress와의 차이
Python에서 예외 처리를 처리하는 방식에는 일반적으로 try-except 블록을 사용하며, 간단한 경우에는 contextlib.suppress를 사용할 수 있습니다. 이 두 가지 방식의 비교와 장단점을 정리해 보겠습니다.1. try-except 블록일반적인 예외 처리 방식try: result = 10 / 0 # 예외 발생except ZeroDivisionError: result = None동작:코드에서 특정 예외가 발생했을 때, 이를 잡아내어 처리합니다.예외를 세부적으로 처리하거나, 여러 예외를 한 번에 처리할 수 있습니다.장점:세부적인 예외 처리 가능: 예외 유형별로 분리하여 다르게 처리할 수 있습니다.커스텀 로직: 예외 발생 시 추가적인 로직을 구현할 수 있습니다.가독성: 복잡한 예외..
Python 정적 코드 분석 도구: MyPy와 PyType 비교
Python은 동적 타입 언어로서 코드 작성이 간결하고 빠르지만, 타입 안정성과 정적 검증의 부재로 인해 런타임 오류가 발생할 수 있습니다. 이를 보완하기 위해 Mypy와 Pytype 같은 정적 타입 분석 도구가 개발되었습니다. 이 글에서는 두 도구의 특징과 사용법, 그리고 비교 분석을 통해 어떤 상황에서 적합한지 알아보겠습니다.1. Mypy란?Mypy는 Python의 정적 타입 분석 도구로, PEP 484에서 도입된 타입 힌트를 기반으로 코드를 분석합니다. Python 코드에서 타입 오류를 검출하여 런타임 전에 문제를 해결하도록 도와줍니다.주요 특징PEP 484와 같은 표준 타입 힌트 지원.점진적 타입 검사를 지원하여 기존 코드와 통합 가능.IDE와의 호환성 우수 (PyCharm, VSCode 등).설..
setdefault vs defaultdict
Python에서 setdefault()와 defaultdict() 활용하기Python에서 딕셔너리를 사용할 때 키가 이미 존재하거나 존재하지 않을 때의 동작을 처리하는 방법은 중요합니다. 이 글에서는 setdefault()와 defaultdict()를 활용해 효율적으로 딕셔너리를 다루는 방법을 알아보고, 코드 예제를 통해 차이점과 사용 사례를 설명하겠습니다.setdefault()란?dict.setdefault()는 딕셔너리에서 키를 조회할 때, 해당 키가 없으면 지정된 기본값을 추가하고 반환하는 메서드입니다. 키가 이미 존재하면 기존 값을 반환합니다.문법dict.setdefault(key, default=None)key: 조회할 키default: 키가 없을 경우 삽입할 기본값 (기본값은 None)사용 예..
Json Schema를 사용한 Json 유효성 검사하기
JSON Schema는 JSON 데이터의 유효성을 정의하고 검사하는 데 사용되는 강력한 도구입니다. Python에서 JSON Schema를 활용하면 데이터의 일관성과 유효성을 보장하고 데이터 규격을 명확히 정의할 수 있습니다. 이번 글에서는 Python에서 JSON Schema의 개요와 사용법에 대해 알아보겠습니다. JSON Schema란 무엇인가요? JSON Schema Welcome to the JSON Schema Community With over 60 million weekly downloads, JSON Schema has a large and active developer community across the world. Join the Community to learn, share idea..
[numpy] r_, c_ 함수에 대하여
numpy 라이브러리에서 제공되는 r_과 c_ 함수는 배열을 생성하고 결합하는 데 유용한 도구입니다. 이 두 함수는 배열을 만들거나 배열을 연결하는 데 사용되며, 주로 슬라이싱, 배열 결합, 또는 인덱싱 작업을 수행하는 데 활용됩니다. 각 함수의 기능과 사용법에 대해 알아보겠습니다. numpy.r_ numpy.r_은 배열을 연결하여 행 방향(axis 0)으로 확장하는 데 사용됩니다. 이 함수는 배열을 수평 방향으로 결합합니다. 여러 슬라이스 또는 배열을 사용하여 새로운 배열을 만들 수 있습니다. 예를 들어, 다음은 r_ 함수를 사용하여 배열을 생성하는 예제입니다: import numpy as np # 슬라이싱을 이용한 배열 생성 arr1 = np.array([1, 2, 3]) arr2 = np.array..
[C#] DLL 포함시켜 단일 EXE로 만들기
프로젝트 파일 설정 프로젝트 파일 내에 PropertyGroup에 아래와 같은 항목을 추가한다. WinExe net6.0-windows ... true true win-x64 true PublishSingleFile : 하나의 파일로 게시(Publish)를 사용하도록 설정 SelfContained : 앱이 자체 포함대상인지, 프레임워크 종속인지 확인 RuntimeIdentifier : 대상으로 하는 OS / CPU 유형 지정 IncludeNativeLibrariesForSelfExtract : 코어 런타임 자체의 네이티브 이진 파일 포함하고 하나의 출력 파일을 얻기 위한 속성 ( 코어 런타임 자체의 네이티브 이진 파일은 단일 파일 번들에 기본적으로 포함되지 않음 ) 배포 (게시 / Publish) 1. ..