1. 建立一個(gè)汽車類Auto擎宝,包括輪胎個(gè)數(shù)郁妈,汽車顏色,車身重量绍申,速度等
屬性噩咪,并通過(guò)不同的構(gòu)造方法創(chuàng)建實(shí)例。
至少要求 汽車能夠加速 減速 停車极阅。
再定義一個(gè)小汽車類CarAuto 繼承Auto 并添加空調(diào)胃碾、CD屬性
,并且重新實(shí)現(xiàn)方法覆蓋加速筋搏、減速的方法
class Auto:
luntai=4
def __init__(self, color,wight,speed):
self.name='auto'
self.color=color
self.wight=wight
self.speed=speed
def speed_up(self,num):
self.speed+=num
print('%s在加速,速度為%d' % (self.name,self.speed))
def speed_down(self,num):
self.speed-=num
print('%s在減速仆百,速度為%d' % (self.name,self.speed))
def stop(self):
if self.speed<=0:
print('車停了')
else:
print('車沒(méi)停')
class CarAuto(Auto):
def __init__(self,color,wight,speed):
super().__init__(color,wight,speed)
self.kt='空調(diào)'
self.cd='CD'
def speed_up(self,num):
self.speed+=num
print('加速')
def speed_down(self,num):
self.speed-=num
print('減速')
a1=Auto('red',50,10)
a1.speed_up(10)
a1.speed_down(13)
a1.stop()
a2=CarAuto('blank',30,12)
print(a2.color,a2.speed,a2.wight)
a2.speed_up(10)
2. 創(chuàng)建一個(gè)Person類,添加一個(gè)類字段用來(lái)統(tǒng)計(jì)Perosn類的對(duì)象的個(gè)數(shù)
class Person:
count=0
def __init__(self):
Person.count += 1
a=Person()
b=Person()
s=Person.count
print(s)
3.創(chuàng)建一個(gè)動(dòng)物類奔脐,擁有屬性:性別俄周、年齡、顏色髓迎、類型 峦朗,
要求打印這個(gè)類的對(duì)象的時(shí)候以'/XXX的對(duì)象: 性別-? 年齡-? 顏色-? 類型-?/' 的形式來(lái)打印"
class Animal:
def __init__(self,sex,age,color,type):
self.sex=sex
self.age=age
self.color=color
self.type=type
def __repr__(self):
return '/%s的對(duì)象: 性別-%s 年齡-%d 顏色-%s 類型-%s' %(self.__class__.__name__,self.sex,self.age,self.color,self.type)
a1=Animal('gong',12,'red','dog')
print(a1)
4. 寫(xiě)一個(gè)圓類, 擁有屬性半徑排龄、面積和周長(zhǎng)波势;要求獲取面積和周長(zhǎng)的時(shí)候的時(shí)候可以根據(jù)半徑的值把對(duì)應(yīng)的值取到。
但是給面積和周長(zhǎng)賦值的時(shí)候橄维,程序直接崩潰尺铣,并且提示改屬性不能賦值
class Circle:
def __init__(self,r):
self.r=r
self._area=0
self._prea=0
@property
def area(self):
s=self.r**2*3.14
return s
@area.setter
def area(self,value):
print('不能賦值')
raise ValueError
@property
def prea(self):
c=self.r*2*3.14
return c
@prea.setter
def prea(self,value):
print('不能賦值')
raise ValueError
c1=Circle(5)
print(c1.area,c1.prea)
print(c1.r)
c1.r=6
print(c1.area,c1.prea)
c1.area=9