Python 에서도 Private을 사용하려면?
접근제어자 Private
자바에서는 접근제어자로 private을 사용하는데 파이썬에서도 private을 사용할 수 있을까?
참고 : https://www.quora.com/Why-does-Java-have-public-and-private-while-Python-does-not
- 자바 예제
public class PrivateClassExample { private String returnCode; private String userName; private List<SampleObject> objectList; private int userNumber; private long totalScore; }
파이썬에서 private을 구현하려면 ._클래스이름__변수이름 형식으로 접근이 가능하다.
_(한개) 클래스 __(두개) 필드
- 파이썬 예제 ```python class PrivateClassExample: def init(self, returnCode, userName, userNames: List, userNumber, totalScore): self.__returnCode = returnCode self.__userName = userName self.__userNames = userNames self.__userNumber = userNumber self.__totalScore = totalScore
privatePrint = PrivateClassExample(“0”, “test”, [1, 2], 1, 2) print(‘privatePrint :: ‘, privatePrint.dict) print(‘privatePrint totalScore :: ‘, privatePrint._PrivateClassExample__totalScore) ```
“양식의 모든 식별자 __name(최소 두 개의 선행 밑줄, 최대 하나의 후행 밑줄)는 공개적으로 로 대체됩니다 _classname__name. 여기서 classname는 선행 밑줄이 제거된 현재 클래스 이름입니다. 따라서 __name에 직접 액세스할 수 없지만 _classname__name. 으로 액세스할 수 있습니다.”
참고 : https://stackoverflow.com/questions/70528/why-are-pythons-private-methods-not-actually-private
댓글남기기