본문 바로가기

Python576

Python 왜 "TypeError: Missing 1 required positional argument: 'self'"가 발생하나요?, Why do I get "TypeError: Missing 1 required positional argument: 'self'"? 질문 저는 다음과 같은 코드를 가지고 있습니다: class Pump: def __init__(self): print("init") def getPumps(self): pass p = Pump.getPumps() print(p) 하지만 다음과 같은 오류가 발생합니다: Traceback (most recent call last): File "C:\Users\Dom\Desktop\test\test.py", line 7, in p = Pump.getPumps() TypeError: getPumps() missing 1 required positional argument: 'self' 왜 __init__이 호출되지 않는 것 같고, 이 예외는 무엇을 의미합니까? 제 이해에 따르면, self가 생성자와 메소드에 자동.. 2023. 12. 7.
Python 첫 번째 항목을 반환하거나 None을 반환하는 파이썬 관용구, Python idiom to return first item or None 질문 나는 여러 개의 목록을 반환하는 메소드들을 호출하고 있습니다. 이 목록은 비어 있을 수 있습니다. 목록이 비어 있지 않으면 첫 번째 항목을 반환하고, 그렇지 않으면 None을 반환하려고 합니다. 이 코드는 작동합니다: def main(): my_list = get_list() if len(my_list) > 0: return my_list[0] return None 하지만 이렇게 하는 간단한 한 줄의 관용구가 있어야 할 것 같습니다. 있을까요? 답변 파이썬 2.6+ next(iter(your_list), None) your_list가 None일 수 있는 경우: next(iter(your_list or []), None) 파이썬 2.4 def get_first(iterable, default=None.. 2023. 12. 7.
Python 파이썬에서 "with" 블록 내에서 return을 사용하면 파일이 여전히 닫히나요?, In Python, if I return inside a "with" block, will the file still close? 질문 다음을 고려해보세요: with open(path, mode) as f: return [line for line in f if condition] 파일은 제대로 닫힐까요? 아니면 return을 사용하는 것이 컨텍스트 매니저를 우회하는 방법이 있을까요? 답변 예, 이것은 try 블록 이후에 finally 블록처럼 작동합니다. 즉, 항상 실행됩니다 (물론 파이썬 프로세스가 비정상적인 방식으로 종료되지 않는 한). with 문의 사양인 PEP-343의 예제 중 하나에도 언급되어 있습니다. with locked(myLock): # 이곳의 코드는 myLock이 보유 될 때 실행됩니다. 블록을 떠날 때 락이 # 해제되는 것이 보장됩니다 (반환 또는 처리되지 않은 예외로 인해 블록을 떠날 경우에도). 그러나 언급.. 2023. 12. 7.
Python 파이썬에서 최대 힙 구현에는 무엇을 사용해야 하나요?, What do I use for a max-heap implementation in Python? 질문 Python은 heapq 모듈을 포함하고 있으며 최소 힙을 지원합니다. 그러나 저는 최대 힙이 필요합니다. Python에서 최대 힙을 구현하기 위해 무엇을 사용해야 할까요? 답변 가장 쉬운 방법은 키의 값을 반전시키고 heapq를 사용하는 것입니다. 예를 들어, 1000.0을 -1000.0으로 변환하고 5.0을 -5.0으로 변환합니다. 2023. 12. 7.