python Class:面向对象高级编程 @property
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python Class:面向对象高级编程 @property相关的知识,希望对你有一定的参考价值。
看不懂,先记录
一、
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
class Student(object):
@property
def score(self):
return self._score
@score.setter #setter是哪里来的??作用呢???
def score(self, value):
if not isinstance(value, int):
raise ValueError('score must be an integer!')
if value < 0 or value > 100:
raise ValueError('score must between 0 ~ 100!')
self._score = value
s = Student()
s.score = 60
print s.score
运行结果:60
二、
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
class Student1(object):
@property #????
def birth(self):
return self._birth
@birth.setter #????
def birth(self, value):
self._birth = value
@property #????
def age(self):
return 2014 - self._birth
s = Student1()
s.birth = 60
print s.age
运行结果:60
以上是关于python Class:面向对象高级编程 @property的主要内容,如果未能解决你的问题,请参考以下文章
python Class:面向对象高级编程 @property
python Class:面向对象高级编程 @property
python Class:面向对象高级编程 __getitem__