markdown getter,setter,프로퍼티#python #tutorial

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了markdown getter,setter,프로퍼티#python #tutorial相关的知识,希望对你有一定的参考价值。

# 프로퍼티를 이용한 getter/setter

마지막 라인에서 두 메서드를 name이라는 속성의 프로퍼티로 정의한다. property()의 첫번째 인자는 getter 메서드, 두 번째 인자는 seetter 메서드인다.

```python
class Duck():
    def __init(self, input_name):
    	self.hidden_name = input_name
    
    def get_name(self):
    	print('inside the getter')
        return self.hidden_name
    
    def set_name(self, input_name):
    	print('inside the setter')
        self.hidden_name = input_name
    
    name = property(get_name, set_name)
```

# 데커레이터를 이용한 getter/setter

- getter 메서드 앞에 @property 데커레이터를 쓴다.
- setter 메서드 앞에 @name.setter 데커레이터를 쓴다.

```python
class Duck():
    def __init(self, input_name):
    	self.hidden_name = input_name
    
    @property
    def name(self):
    	print('inside the getter')
        return self.hidden_name
    @name.setter
    def name(self, input_name):
    	print('inside the setter')
        self.hidden_name = input_name
```

또한 프로퍼티는 계산된 값을 참조할 수 있다.

```python
class Circle():
    def __init__(self, radius):
    	self.radius = radius
    @property
    def diameter(self):
    	return 2 * self.radius
```
```
c = Circle(5)
c.radius	# 5
c.diameter	# 10
```

속성에 대한 setter 프로퍼티를 명시하지 않으면 외부로부터 이 속성을 설정할 수 없다.
```
c.diameter = 20		# error!
```

以上是关于markdown getter,setter,프로퍼티#python #tutorial的主要内容,如果未能解决你的问题,请参考以下文章

markdown bash프로파일설정파일차이

java [안드로이드]프래그먼트

swift 패스트캠퍼스iOS프로젝트캠프 - 교재에없는Swift예시

python [已弃用]코레일승차권검색및프프로그램.https://github.com/devxoul/korail

markdown 터미널프롬프트변경

markdown 스택프레임