Python 개인 함수 의 인 스 턴 스 상세 설명
대부분의 언어 와 마찬가지 로 Python 도 개인 적 인 개념 이 있 습 니 다.
•개인 함 수 는 모듈 밖에서 호출 할 수 없습니다.
•사유 류 방법 은 그것들의 종류 밖에서 호출 될 수 없다
•개인 속성 은 클래스 밖에서 접근 할 수 없습니다.
대부분의 언어 와 달리 하나의 Python 함수,방법,또는 속성 이 사유 인지 공유 인지 완전히 그 이름 에 달 려 있 습 니 다.
만약 Python 함수,클래스 방법,또는 속성의 이름 이 두 개의 밑줄 로 시작한다 면,그것 은 개인 적 인 것 입 니 다.다른 모든 것 은 공유 입 니 다.
Python 은 보호 할 수 있 는 개념 이 없습니다.클래스 방법 이나 사유(그들 자신의 클래스 에서 만 사용 할 수 있 음)또는 공유(어느 곳 에서 든 사용 할 수 있 음).
MP3 FileInfo 에는 두 가지 방법 이 있 습 니 다.parse 와setitem__。우리 가 이미 토론 한 바 와 같이,setitem__ 전유 의 방법 이다.일반적으로,당신 은 그것 을 직접 호출 하지 않 고,한 종류 에서 사전 문법 을 사용 하여 호출 하지만,그것 은 공유 적 이 며,만약 정말 좋 은 이유 가 있다 면,당신 은 그것 을 직접 호출 할 수 있 습 니 다(심지어 fileinfo 모듈 밖에서).그러나parse 는 이름 앞 에 밑줄 이 두 개 있 기 때문에 개인 적 인 것 입 니 다.
Note: Method Naming C onventions
Python 에서 모든 전용 방법(예:setitem__) 내 장 된 속성(상doc__) 표준 이름 을 지 키 는 습관:시작 과 끝 에 두 개의 밑줄 이 있다.자신의 방법 과 속성 에 대해 이런 방법 으로 이름 을 짓 지 마 세 요.마지막 까지 그것 은 너(또는 다른 사람)를 어 지 럽 힐 뿐이다.
1.개인 적 인 방법 을 사용 하려 고 시도 합 니 다.
>>> import fileinfo
>>> m = fileinfo.MP3FileInfo()
>>> m.__parse("/music/_singles/kairo.mp3") (1)
Traceback (innermost last):
File "<interactive input>", line 1, in ?
AttributeError: 'MP3FileInfo' instance has no attribute '__parse'
(1) 만약 당신 이 개인 적 인 방법 을 사용 하려 고 한다 면,Python 은 약간의 오도 이상 을 일 으 켜 그 방법 이 존재 하지 않 는 다 고 선언 할 것 입 니 다.물론 그것 은 확실히 존재 하지만,그것 은 사유 이기 때문에,유형 외 에 서 는 사용 할 수 없다.엄 밀 히 말 하면 개인 적 인 방법 은 그들의 유형 외 에 방문 할 수 있 지만 처리 하기 가 쉽 지 않다.Python 에 서 는 진정한 사유 가 없습니다.내부 에 서 는 개인 적 인 방법 과 속성의 이름 이 갑자기 바 뀌 고 회복 되 어 주어진 이름 으로 는 사용 할 수 없 는 것 처럼 보인다.당신 은MP3FileInfo__parse 이름 으로 MP3 FileInfo 클래스 의 를 사용 합 니 다.parse 방법.이 방법 이 매우 흥 미 롭 다 는 것 을 알 게 된 후에 결코 진정한 코드 에서 그것 을 사용 하지 않 을 것 을 보증 해 야 한다.사유 방법 은 어떤 이유 로 사유 화 되 었 으 나 파 이 썬 에 있 는 다른 많은 것들 처럼 그들의 사유 화 는 기본적으로 습관 적 인 문제 이지 강요 하 는 것 이 아니다.
본 고 를 통 해 파 이 썬 의 개인 함수 사용 을 이해 할 수 있 기 를 바 랍 니 다.궁금 한 점 이 있 으 시 면 메 시 지 를 남기 거나 본 사이트 의 커 뮤 니 티 에 가서 토론 하 십시오.읽 어 주 셔 서 감사합니다. 도움 이 되 기 를 바 랍 니 다.본 사이트 에 대한 지지 에 감 사 드 립 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Python의 None과 NULL의 차이점 상세 정보그래서 대상 = 속성 + 방법 (사실 방법도 하나의 속성, 데이터 속성과 구별되는 호출 가능한 속성 같은 속성과 방법을 가진 대상을 클래스, 즉 Classl로 분류할 수 있다.클래스는 하나의 청사진과 같아서 하나의 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.