본문 바로가기

1.344

Python 파이썬에서 모든 객체 속성 가져오기? [중복], Get all object attributes in Python? [duplicate] 질문 파이썬에서 객체의 모든 속성/메서드/필드 등을 얻을 수 있는 방법이 있을까요? vars()는 내가 원하는 것에 가까운 결과를 제공하지만, 객체에 __dict__가 없는 경우에는 작동하지 않습니다. (예: list, dict 등). 답변 내장 함수 dir()을(를) 사용하세요. 2023. 9. 13.
Python 파이썬 객체를 올바르게 정리하는 방법은 무엇인가요?, How do I correctly clean up a Python object? 질문 클래스 Package: def __init__(self): self.files = [] # ... def __del__(self): for file in self.files: os.unlink(file) __del__(self)는 위에서 AttributeError 예외가 발생합니다. 나는 Python은 "전역 변수" (이 맥락에서는 멤버 데이터?)의 존재를 보장하지 않는다는 것을 이해합니다. __del__()가 호출될 때 예외의 원인이 이것이라면, 객체가 올바르게 해체되도록 어떻게 해야 할까요? 답변 파이썬의 with 문을 사용하여 정리해야 할 리소스를 관리하는 것을 추천합니다. 명시적인 close() 문을 사용하는 것의 문제는 호출을 완전히 잊거나 예외가 발생할 때 리소스 누출을 방지하기 위해 f.. 2023. 9. 13.
Python 파이썬 모듈 소스의 위치를 어떻게 찾을 수 있나요?, How do I find the location of Python module sources? 질문 특정 Python 모듈의 소스 파일이 설치된 위치를 어떻게 알 수 있을까요? Windows와 Linux에서 방법이 다를까요? 특히 datetime 모듈의 소스를 찾으려고 시도하고 있지만, 더 일반적인 답변에도 관심이 있습니다. 답변 순수한 파이썬 모듈의 경우, 소스를 찾으려면 themodule.__file__을(를) 찾으면 됩니다. 그러나 datetime 모듈은 C로 작성되어 있으므로 datetime.__file__은 .so 파일을 가리킵니다(Windows에는 datetime.__file__이 없습니다). 따라서 소스를 볼 수 없습니다. 파이썬 소스 tarball을 다운로드하고 추출하면 모듈의 코드를 Modules 하위 디렉토리에서 찾을 수 있습니다. 예를 들어, 파이썬 2.6의 datetime 코.. 2023. 9. 13.
Python 전치 / 압축 해제 기능 (zip의 역함수)?, Transpose/Unzip Function (inverse of zip)? 질문 나는 2개의 항목을 가진 튜플 목록이 있으며, 이를 첫 번째 항목을 포함하는 첫 번째 목록과 두 번째 항목을 포함하는 두 번째 목록으로 변환하고 싶습니다. 예를 들어: original = [('a', 1), ('b', 2), ('c', 3), ('d', 4)] # 그리고 나는 다음과 같이 되기를 원합니다... result = (['a', 'b', 'c', 'd'], [1, 2, 3, 4]) 이를 수행하는 내장 함수가 있을까요? 답변 2.x에서는 zip이 자체적으로 역함수입니다! 특별한 * 연산자를 사용하면 됩니다. >>> zip(*[('a', 1), ('b', 2), ('c', 3), ('d', 4)]) [('a', 'b', 'c', 'd'), (1, 2, 3, 4)] 이는 리스트의 각 요소를 별도.. 2023. 9. 12.