Skip to content

배토의 개발일지

나를위한 단편적 기억들의 기록

Menu
  • 안드로이드
  • 코틀린
  • Godot
  • 블렌더
  • git
  • 게임제작일지
  • 기타
Menu

Python : Access Modifier 그리고 참고용 링크

Posted on 2020년 4월 14일2020년 4월 16일 by batmask

앞서, Python에서 OOP 프로그래밍을 하며 계속 벽에 부딪힌다고 얘길 했었다. 그 중 하나가 access modifier인 public, protected, private이 Python에 없는 점이다.

해당 modifier들은 없지만, 유사한 naming convention을 제공한다. 이름 앞에 ‘_'(underscore) 또는 ‘__'(double underscore)를 붙여주면 된다.

class BContactDB:

    def __init__(self):
        super().__init__()
        self.__db_name: str = "test.db"

db_name에 ‘__’로 시작하도록 이름을 사용했고, 이 값을 클래스 외부에서 엑세스하면 attribute error가 발생하게 된다. ‘_'(underscore) 하나를 사용하면, private, 두개를 사용하면 protected처럼 사용할 수 있다.

클래스에 대해서도, 모듈안에서만 사용하고 싶을 때가 있다. 역시 클래스 이름앞에 ‘_'(underscore)를 붙여준다.

class _QueryType(Enum):
    SELECT = 1
    DELETE = 2

이렇게하면, 외부에서 import시 이름이 나타나지 않는다.


Python에서 OOP Programming을 하는게 상당히 생소하고 까다로워서 따로 정리를 하고싶었다. 그런데, 기본적인 내용들을 깔끔하게 정리한 사이트가 있어 소개한다.

https://stackabuse.com/object-oriented-programming-in-python/

기본적인 OOP 개념들에 해당하는 Python 내용들을 설명하고 있다. 이 글을 진작에 봤으면 조금은 고생을 덜했을거 같네.

답글 남기기 응답 취소

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

최신 글

  • Blender : snap을 써서 다른 vertex에 정렬하기
  • KTor Client 기본 사용 정리
  • 게임 만들거다.
  • Using Koin with Android Compose

보관함

2020 4월
일 월 화 수 목 금 토
 1234
567891011
12131415161718
19202122232425
2627282930  
« 3월   5월 »

메타

  • 로그인
  • 엔트리 피드
  • 댓글 피드
  • WordPress.org
©2025 배토의 개발일지 | Built using WordPress and Responsive Blogily theme by Superb