내장 된 기능 len()
(https://docs.python.org/3/library/functions.html#len는) 반환 "객체의 길이 (항목 수)"을, 그러나 이것은 queue.Queue
(https://docs.python.org/3/library/queue.html)에 대해 구현되지 않습니다. queue.Queue
은 분명히 길이가있을 때 큐의 대략적인 크기를 반환하는 qsize()
메서드를 가지고 있습니다. 생성자에서 Queue
의 최대 길이를 지정할 수 있습니다. 비슷한 collections.deque
은 len
과 작동합니다.len()이 큐에 구현되지 않은 이유는 무엇입니까?
queue.Queue
에 len()
을 사용하지 않는 이유는 무엇입니까? 또는 : qsize
이 기능을 사용하기 위해 __len__
으로 대신 명명 된 경우의 문제점은 무엇입니까?
아마 사람들은'len'이 정확한 값을 반환하기를 기대하기 때문에, 대략적인 값은 아닙니다. 그리고 그것은 빠르다. 정확한 '__len__'을 구현하기 위해서는 성능에 영향을 줄 수있는 추가 및 삭제를 방지하기 위해 대기열을 잠궈 야합니다. –