본문 바로가기

Python/study7

__init__ __init__.py의 역할과 사용법__init__.py 파일은 Python 패키지를 식별하고 초기화하는 역할을 합니다.이 파일이 있는 폴더는 Python에서 패키지로 인식되며, 모듈을 불러올 수 있습니다.1️⃣ __init__.py의 기본 역할패키지(모듈 폴더)로 인식__init__.py가 존재하면, 해당 디렉터리는 Python 패키지로 인식됨.import package_name을 사용하여 패키지를 불러올 수 있음.패키지 초기화 코드 실행__init__.py 내부에 코드를 작성하면 패키지가 처음 import될 때 실행됨.예를 들어 전역 변수 설정, 서브모듈 자동 로드, 로깅 설정 등을 할 수 있음.패키지에서 특정 모듈을 공개__all__ 리스트를 정의하여 from package import * 시 어떤.. 2025. 2. 19.
@wrap 기본 개념Python에서 데코레이터를 사용하면 함수가 다른 함수로 래핑됩니다. 하지만, 래핑 과정에서 원래 함수의 이름(__name__), 문서 문자열(__doc__), 기타 메타데이터가 사라질 수 있습니다.데코레이터로 인한 문제:from functools import wrapsdef my_decorator(func): def wrapper(*args, **kwargs): """Wrapper docstring""" print("Before the function call") result = func(*args, **kwargs) print("After the function call") return result return wrap.. 2025. 1. 15.
unittest 모듈 Python unittest 모듈Python의 unittest 모듈은 내장 단위 테스트 프레임워크로, 코드의 각 기능이 예상대로 동작하는지 확인하는 데 사용됩니다. 이 모듈을 통해 테스트 케이스 작성, 테스트 스위트 구성, 결과 요약이 가능합니다.기본 사용법테스트할 함수 또는 클래스 정의테스트 대상이 되는 코드를 작성합니다.unittest.TestCase를 상속받아 테스트 클래스 작성테스트 클래스는 unittest.TestCase를 상속해야 합니다.테스트 메서드 작성테스트 메서드 이름은로 시작해야 합니다.테스트 실행python -m unittest 명령어를 통해 실행합니다.예제 코드테스트할 함수 정의# 테스트할 함수def add(x, y): return x + y테스트 작성import unittes.. 2024. 12. 8.
@staticmethod @staticmethod정의@staticmethod는 클래스의 정적 메서드를 정의하는 데 사용되는 데코레이터입니다. 정적 메서드는 클래스와 연관되어 있지만, 인스턴스나 클래스 상태와 독립적으로 동작합니다.특징인스턴스와 독립적정적 메서드는 self(인스턴스)나 cls(클래스)에 대한 참조 없이 호출할 수 있습니다.클래스나 인스턴스를 생성하지 않아도 호출 가능클래스명.메서드명() 형태로 직접 호출할 수 있습니다.상태와 무관한 기능 구현에 적합클래스의 상태와 독립적이며, 유틸리티 메서드나 클래스와 관련된 일반적인 기능을 구현할 때 유용합니다.사용법예제: 간단한 유틸리티 함수class MathOperations: @staticmethod def add(a, b): return a + b#.. 2024. 12. 8.
ast.literal_eval() ast.literal_eval()정의:ast.literal_eval() 함수는 **파이썬 리터럴(literal)**만 안전하게 평가하여, 문자열에서 파이썬 객체로 변환해주는 함수입니다.리터럴:리터럴은 코드 내에 직접적으로 표현되는 값을 말하며, 숫자, 문자열, 리스트, 튜플, 딕셔너리, 불리언(True, False), None 등이 포함됩니다.예제import ast# 문자열 형태의 리스트string_list = "[1, 2, 'hello']"# ast.literal_eval()을 사용하여 리스트로 변환list_data = ast.literal_eval(string_list)print(list_data) # 출력: [1, 2, 'hello']# 문자열 형태의 딕셔너리string_dict = "{'name.. 2024. 12. 8.
__str__와 __repr__ repr (Representation)목적:repr 메서드는 객체의 공식적이고 명확한 문자열 표현을 반환합니다.반환된 문자열은 주로 디버깅이나 개발자용 출력에 사용되며, 가능하다면 해당 문자열로 동일한 객체를 생성할 수 있어야 합니다.개발자에게 객체의 내부 구조를 명확히 전달하는 것이 목표입니다.사용:repr() 함수 호출 시 실행됩니다.대화형 인터프리터에서 객체를 입력하면 repr()의 결과가 출력됩니다.권장 사항:repr 메서드는 객체를 재생성할 수 있는 문자열 표현을 반환하는 것이 이상적입니다.재생성이 불가능한 경우에도 객체의 중요한 정보를 명확히 보여줘야 합니다.예제class Person: def __init__(self, name, age): self.name = name .. 2024. 12. 8.