본문 바로가기
대학원 공부/programming language

Python : @property, @function.setter

by 월곡동로봇팔 2020. 5. 4.

@property

파이썬에서는 @property 데코레이터를 이용하여 위의 get , set 메소드보다 더욱 직관적으로 표현이 가능하다.

class Person : 
	def __init__(self):
    	self.__name = 'hong' 
        
    @property
    def name(self): 
    	return self.__name 
        
    @name.setter
    	def name(self, name):self.__name = name
        

person = Person()
print(person.name) # hong

person.name = 'park'
print(person.name) # park

get의 역할은 property , set의 역할은 setter가 한다.

property 가 setter 보다 윗줄에 사용되어야 한다.

 

흔히 우리가 아는 Java 에서는 getfunction, setfunction 이라는 method를 무조건 쓰게 되어있다. value를 가지고 올 때는 get method, value를 새로 설정할 때는 set method를 쓰게 되어있다.

 

python은 그것을 property, function.setter 로 쓰게 되어있다.

댓글