1.建立一個(gè)汽車類Auto锁孟,包括輪胎個(gè)數(shù),汽車顏色茁瘦,車身重量品抽,速度等屬性,并通過不同的構(gòu)造方法創(chuàng)建實(shí)例甜熔。至少要求 汽車能夠加速 減速 停車圆恤。 再定義一個(gè)小汽車類CarAuto 繼承Auto 并添加空調(diào)、CD屬性,并且重新實(shí)現(xiàn)方法覆蓋加速盆昙、減速的方法
class Auto:
def __init__(self, tire, color, weight, speed):
self.tire = tire
self.color = color
self.weight = weight
self.speed = speed
@staticmethod
def accelerate(self):
print('加速')
@staticmethod
def slow_down(self):
print('減速')
@staticmethod
def parking(self):
print('停車')
class CarAuto(Auto):
def __init__(self, tire, color, weight, speed, air_conditioning, cd):
super().__init__(tire, color, weight, speed)
self.air_conditioning = air_conditioning
self.cd = cd
def accelerate(self):
print('CarAuto加速')
def slow_down(self):
print('CarAuto減速')
c1 = CarAuto(4, 'red', '500kg', 180, 1, 2)
c1.accelerate()
print(c1.slow_down())
2.創(chuàng)建一個(gè)Person類羽历,添加一個(gè)類字段用來統(tǒng)計(jì)Perosn類的對(duì)象的個(gè)數(shù)
class Person:
num=0
def __init__(self,name):
self.name=name
Person.num+=1
p1=Person('w')
p2=Person('a')
p3=Person('n')
p4=Person('g')
p5=Person('t')
print(Person.num)
3.創(chuàng)建一個(gè)動(dòng)物類,擁有屬性:性別淡喜、年齡秕磷、顏色、類型 炼团,
要求打印這個(gè)類的對(duì)象的時(shí)候以'/XXX的對(duì)象: 性別-? 年齡-? 顏色-? 類型-?/' 的形式來打印
class Animal:
def __init__(self,gender,age,color,kind):
self.gender=gender
self.age=age
self.color=color
self.kind=kind
def __repr__(self):
print('性別:%s 年齡:%s 顏色:%s 類型:%s' % (self.gender,self.age,self.color,self.kind))
a1=Animal('公','3','red','獅子')
print(a1)
4.寫一個(gè)圓類澎嚣, 擁有屬性半徑、面積和周長(zhǎng)瘟芝;要求獲取面積和周長(zhǎng)的時(shí)候的時(shí)候可以根據(jù)半徑的值把對(duì)應(yīng)的值取到易桃。但是給面積和周長(zhǎng)賦值的時(shí)候,程序直接崩潰锌俱,并且提示改屬性不能賦值
class Circle:
pi=3.14
def __init__(self,radius):
self.radius=radius
self._perimeter=0
self._area=0
@property
def perimeter(self):
return 2*Circle.pi*self.radius
@perimeter.setter
def perimeter(self,value):
if value>=0:
print('不能賦值')
raise ValueError
@property
def area(self):
return Circle.pi*self.radius**2
@area.setter
def area(self, value):
if value >= 0:
print('不能賦值')
raise ValueError
c1=Circle(2)
c1.perimeter=3
print(c1.perimeter)