27面向对象2 _属性装饰器

过载

stu1.chinesestu1。中国=100 del stu1。中国

@propertyclass地产(对象)python3objectdef __init__(自我,fget=None, fset=None, fdel=None, doc=None)

@property@chinese.setter@chinese.deleter

英语=属性(λ自我:self._english setenglish)

gettersetter

propertygetter setter2self

删除人

propertysetterdeleter

属性

pycharmstu1。__

类人:

def __init__(自我、中文、英语、历史):

自我。_chinese=中国#

自我。_english=英语

自我。历史__history=

def getscore(自我):

返回self._chinese self._english,自我。__history

def gethistory(自我):#

回归自我。__history

def sethistory(自我价值):#

自我。__history=价值

def getenglish(自我):#

回归自我。_english

stu1=人(80、90、88)

打印(stu1.gethistory ()) #

打印(stu1.getscore ())

88 (80、90、88)

类人:

def __init__(自我、中文、英语、历史):

自我。中国_chinese=

自我。_english=英语

自我。历史__history=

#

#

#

# def getenglish(自我):#

#回归自我。_english

#英语=属性(getenglish) #

#

stu1=人(80、90、88)

打印()# r

# w

打印(stu1.chinese)

# del

80

100

del中国

90

120

__del__

DBwith pythondel

def __del__(自我):

打印(离开)

过载

pythonpython

覆盖

pythondef添加(x, y) intstr

覆盖

封装

gettersetter

1导入随机

类RandomNums:

def __init__(自我、num=10 min=0, max=100):

自我。num=num

自我。min=min

自我。max=max

def创建(自我):

返回[random.randint (self.min self.max) _的范围(self.nums)]

rn=RandomNums (0100)

打印(rn.create ())

# # # # # #

类RandomNums:

@classmethod

def创建(cls, num=12分钟=1,max=100):

返回[random.randint(最小,最大)_的范围(num)]

打印(RandomNums.create ())

# # # # # #

类RandomGenerator:

def __init__(自我,数=10,开始=1,停止=100):

自我。数=数

自我。开始=

自我开始。停止=停止

def _generator(自我):

而真实:

产量random.randint (self.start self.stop)

def生成(自我):

返回(在范围(self.count) _)

rg=RandomGenerator (1100)

打印(rg.generate ())

# # # # #

类RandomGenerator:

def __init__(自我,数=10,开始=1,停止=10):

自我。数=数

自我。开始=

自我开始。停止=停止

def _generate(自我):

而真实:

def生成(自我):

返回下一个(self.gen)

rg=RandomGenerator ()

lst=rg.generate ()

打印(lst)

220

进口随机

类RandomGenerator:

def __init__(自我,数=10,开始=1,停止=100):

自我。数=数

自我。开始=

自我开始。停止=停止

自我。创=self._generate ()

def _generate(自我):

而真实:

产量(random.randint (self.start self.stop) _的范围(self.count)]

def生成(自我,计数):

自我。数=数

返回下一个(self.gen)

类点:

def __init__(自我,x, y):

自我。x=x

自我。y=y

def __repr__(自我):

返回“{}:{}”.format (self.x self.y)

rg=RandomGenerator ()

lst=[一点(x, y) x, y在

p lst: # # Point__repr__

#打印(“{}:{}”.format (p.x p.y))

打印(点(4、5))

打印(lst)

3 markcolorpricespeed

汽车类:

def __init__(自我、标志、色彩、价格、速度):

自我。null

27面向对象2 _属性装饰器