"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > `super ()`rebinding이 파이썬 코드를 깨뜨리는 이유는 무엇입니까?

`super ()`rebinding이 파이썬 코드를 깨뜨리는 이유는 무엇입니까?

2025-03-23에 게시되었습니다
검색:912

 Why Does Rebinding `super()` Break Your Python Code?

그 이유는 D.R.Y입니다. (자신을 반복하지 마십시오) 원칙. 슈퍼 클래스에 대한 통화에서 호출 클래스를 명시 적으로 이름 지정하면이 원칙을 위반하고 문제의 위험을 증가시킵니다. 또한 클래스 이름을 변경하는 클래스 데코레이터를 사용하여 원래 클래스 객체에 대한 참조를 방해합니다.

보이지 않는 클래스

셀을 포함하여 Super ()를 포함하는 기능을 중심으로 폐쇄 된 셀을 만들어 Super ()의 마법 구현은 이러한 문제를 피합니다. 셀은 원래 클래스 객체를 참조하여 수퍼 이름이 반등하더라도 슈퍼 ()가 항상 올바른 슈퍼 클래스에 액세스 할 수 있도록합니다.

이 동작은 놀랍게 보일 수 있지만 슈퍼 ()가 종종 오용된다는 점에 유의하는 것이 중요합니다. 통화 구문을 단순화하고 무한 재귀 함정을 피함으로써 업데이트 된 구현은 오류를 방지하는 데 도움이됩니다.

Super가 리바운드되면

class 를 참조하면 기능이 복원됩니다. 셀이 수퍼 또는 클래스

가 메소드 내에서 사용될 때 생성되기 때문입니다.

최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3