기본적으로 전역 수준에서 사용할 수있게하려는 일부 개체가 있는데, 사용자가 실수로 변수 이름을 덮어 쓰는 경우이를 사용자에게 알려주고 싶습니다. 매우 일반적인 변수 이름을 가지고 있기 때문에 사용자에게이를 덮어 쓰는 경우 알림을 받고 싶습니다 (필요한 경우이 문제를 해결할 수 없습니다.).스크립트가 실행되기 전에 객체가 삭제되면 파이썬에서 어떻게 알릴 수 있습니까?
예를 들어, 사용자가 b=2
을 수행하고 나중에 가비지 수집기가 스윕을 수행하면 b
이 삭제되었다는 알림을 받고 싶습니다. 그러나 스크립트의 마지막에 이런 일이 발생하면 다른 모든 것이 가비지 수집 될 때 침묵해야합니다. 이러한 이유로 단순히 __del__
메서드를 구현하는 것만으로는 충분하지 않습니다.
나는 weakref
모듈을 파고 들지만, 필자가 필요로하는 것은 아닙니다.
사용자가 이러한 개체를 덮어 쓸 수있는 이유가 있습니까? 아니면 스크립트를 실행하는 동안 그들을 잠글 것이 바람직할까요? –
그들을 잠그는 것이 좋지만 변수 이름이 중요합니다. 'b'라고하는 기본 객체가 살아 있다는 것만으로는 충분하지 않습니다.'b'는 그 객체를 가리켜 야합니다. – user3557216
또한 함수 범위 내에서 다른 목적으로 변수 이름을 사용하는 것이 좋습니다. 이 변수가 '신성한'일 필요가있는 것은 전 세계적 차원에 불과합니다. – user3557216