1. 建立一个汽车类Auto,包括轮胎个数,汽车颜色,车身重量,速度等
属性,并通过不同的构造方法创建实例。
至少要求 汽车能够加速 减速 停车。
再定义一个小汽车类CarAuto 继承Auto 并添加空调、CD属性
,并且重新实现方法覆盖加速、减速的方法
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('车没停')
class CarAuto(Auto):
def __init__(self,color,wight,speed):
super().__init__(color,wight,speed)
self.kt='空调'
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. 创建一个Person类,添加一个类字段用来统计Perosn类的对象的个数
class Person:
count=0
def __init__(self):
Person.count += 1
a=Person()
b=Person()
s=Person.count
print(s)
3.创建一个动物类,拥有属性:性别、年龄、颜色、类型 ,
要求打印这个类的对象的时候以'/XXX的对象: 性别-? 年龄-? 颜色-? 类型-?/' 的形式来打印"
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的对象: 性别-%s 年龄-%d 颜色-%s 类型-%s' %(self.__class__.__name__,self.sex,self.age,self.color,self.type)
a1=Animal('gong',12,'red','dog')
print(a1)
4. 写一个圆类, 拥有属性半径、面积和周长;要求获取面积和周长的时候的时候可以根据半径的值把对应的值取到。
但是给面积和周长赋值的时候,程序直接崩溃,并且提示改属性不能赋值
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