参数检查(@property)
发布日期:2021-05-10 03:51:50 浏览次数:16 分类:精选文章

本文共 3905 字,大约阅读时间需要 13 分钟。

���������������Python������������������������������

���������������������������������������������������������������classmethod���������eterminate���������������������������������������������������������������������������������������������������������������Python��������� @property ���������������������������������������������������������������������������

������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������icipantWWWWWWWWWWWWW ���������������������������������������������������������������������������������������������������������������������������

���������������Python��� @property ��������������������������������������������������������������� @property ��� @ rugsgetter/adddroperty������getters������������������setters���������������������getter������������������������setter���������������������������������������������������������������������������������������������������������������������������������������������

������������������������������������������������������������Python������������������������������������������Student������������������score���������

@property
def score(self):
return self._score
@score.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

GETTER ��� SETTER ������������������

  • score ������������getter������������������������������������������ @property ��������������������������������� student.score ������������������getter��������������������� self._score���

  • score setter������������������ @score.setter ������������������������������������������������������������������������������������������������������������������������

���������������������������������������

  • ���������birth��������������������������� setter���������������������������
  • ���������age������������������������ getter���������������������������

��������� Student ���������������������

student = Student()
student.score = 60 # ������������������ setter, ��� `student.set_score(60)`
print(student.score) # ������ getter, ������ `60`

������������������������������������

student.score = 9999

��������� ValueError, ������������������������������������������������������������������ setter ������������������������������������������������������������������������������

������������������������ birth ���������

student.birth = 1988  # ������ setter, `student.set_birth(1988)`
print(student.birth) # ������ getter, ������ `1988`

���������������������

������������ getter������������ setter������������������������������������������������������������

@property
def age(self):
return 2019 - self.birth

��������������������� age ���������������������������������������������������������������������������

@property ���������������

������ @property ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� getter ��� setter������������������������������������������������

��������������������������� @property ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

上一篇:访问权限
下一篇:限制属性绑定(__slots__)

发表评论

最新留言

留言是一种美德,欢迎回访!
[***.207.175.100]2025年03月31日 20时48分35秒