yordlejason   2년 전

안녕하세요.

pop을 호출 했을 때 return 값이 기존 stack에서 삭제된 값이 아닌 엉뚱한 값으로 리턴이 되네요.
reserved name을 사용해서 그런가 싶어 변수명을 바꿔봐도 결과는 똑같습니다.

어떤 실수를 했는지 잘 안보이는데, 지적 부탁드립니다.
감사합니다 :)

sait2000   2년 전

Python 한 수 배우고 갑니다.

https://stackoverflow.com/ques...

hasattr를 property에 쓰면 getter가 호출됩니다!

pop의 side effect가 있으니까 hasattr에서 하나 뽑히고 getattr에서 하나 더 뽑혀서 이상하게 나오는거죠.

개인적으로는 side effect가 있는 무언가에는 그냥 평범한 method를 쓸 것 같네요.

yordlejason   2년 전

@sait2000 

답변 감사합니다. 

pop을 property 처리해놓고 hasattr 호출하면 함수가 실행되는 부분을 간과하고 있었네요.

좋은 지적 덕분에 문제 잘 해결했습니다.


감사합니다! :-)

댓글을 작성하려면 로그인해야 합니다.