파이썬의 개인 변수/멤버/함수/접근 방식에 대한 대부분의 내용을 알고 있습니다 ...외부에서 호출 할 객체 메소드와 서브 클래스에서 호출 할 객체 메소드를 구별하는 관례는 무엇입니까?
그러나 외부 사용 또는 하위 클래스 사용 방법을 구별하는 방법에 대해서는 신경을 쓰지 않습니다 .
다음과 같은 예를 생각해 :이 예에서
class EventMixin(object):
def subscribe(self, **kwargs):
'''kwargs should be a dict of event -> callable, to be specialized in the subclass'''
def event(self, name, *args, **kwargs):
...
def _somePrivateMethod(self):
...
를, 내가 만들고 싶어 그 이벤트가해야하는 방법 동안, 클래스/객체의 외부 사용자가 사용하는 방법은 가입이 명확 외부에서 호출되지 않고 하위 클래스 구현에서 호출됩니다.
지금 당장 공용 API의 두 부분을 고려하므로 밑줄을 사용하지 마십시오. 그러나이 특정 상황에서는 예를 들어 외부 API에 밑줄을 사용하지 말고 하위 클래스 API에 밑줄을 사용하지 말고 개인/내부 API에 대해서는 밑줄 두 개를 사용하는 것이 좋습니다. 다음 내부 API가 코딩 현명한, documentationwise, 또는 그렇지 않으면 규칙은 무엇인가,
그래서self._EventMixin__somePrivateMethod()
로 호출 될 필요가 있기 때문에, 그 다루기가 될 것인가?
파이썬은 보호 된 멤버를 지원하지 않습니까? Oo – OregonGhost
컴파일러는 보호 된 멤버를 시행하지 않습니다. 대회만으로 끝났습니다. –