Python3类之五
#property class Student: def get_score(self): return self._score def set_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 stu = Student() stu.set_score(99) stu.get_score()###99 stu2 = Student() #stu2.set_score(101)####error ######################## #Python内置的@property装饰器就是负责把一个方法变成属性调用的 class Student(object): @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 stu3 = Student() stu3.score = 60 stu3.score####60 #stu3.score = 1000 #Error error # #不通过init来创建实例 class Date : def __init__(self,year,month,day) : self.year = year self.month = month self.day = day d = Date.__new__(Date) data = {'year':2012,'month':8,'day':29} for key,value in data.items() : setattr(d,key,value) d.year
转载: https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/00143186781871161bc8d6497004764b398401a401d4cce000

浙公网安备 33010602011771号