파이썬 클래스는 _ (underscore, 밑줄)을 이용한 변수 naming으로 private 변수, 함수, 클래스를 구현할 수 있다.(완벽한 private는 아님)
1. sinlge underscore : _var_name 의 형태
클래스 내부에서 사용되는 형태지만, 해당 모듈을 import로 불러올때는 제외된다. (weak internal use indicator)
클래스 외부에서 직접 접근이 가능하다.
2. double underscore : __var_name 의 형태
클래스 내부에서 사용되는 형태. 외부에서 직접 접근이 불가능 하다. private처럼 동작하는데 완벽한 private는 아니다. (외부에서 접근하는 방법이 존재)
class Movie:
def __init__(self, movie_name):
self.__movie_name = movie_name
@property
def movie_name(self):
return self.__movie_name
@movie_name.setter
def movie_name(self, new_movie_name):
"""영화를 변경하는 setter 메서드"""
self.__movie_name = new_movie_name
print("==== setter 을 통해 영화를 변경합니다 ====")
print('변경후 영화이름 : {}'. format(self.movie_name))
movie = Movie('총알탄사나이')
movie.movie_name = '히든피겨스' #set
movie.movie_name #get
https://hongku.tistory.com/335
반응형
'Programming > python' 카테고리의 다른 글
python 주석 (0) | 2020.01.17 |
---|---|
python, 같은 라인에 print문 update하기 (0) | 2019.11.19 |
python, networkx, 에서 graph의 layout 종류 (0) | 2019.09.05 |
python, print 시 문자열, 숫자, 자리수 조절하기 (0) | 2019.08.29 |
python, 상위 n개 value의 index추출 (0) | 2019.08.19 |