- 建立一個汽車類Auto储笑,包括輪胎個數茧泪,汽車顏色蜓氨,車身重量,速度等屬性队伟,并通過不同的構造方法創(chuàng)建實例穴吹。至少要求 汽車能夠加速 減速 停車。 再定義一個小汽車類CarAuto 繼承Auto 并添加空調嗜侮、CD屬性刀荒,并且重新實現方法覆蓋加速代嗤、減速的方法
class Car:
"""聲明一個車類"""
def __init__(self):
self.tire = 4
self.color = 'white'
self.weight = '4t'
self.speed = 20
def accerate(self, value):
self.speed += value
print('加速至%d' % self.speed)
def slow_down(self, value):
self.speed -= value
print('減速至%d' % self.speed)
def park(self):
self.speed = 0
print('當前速度為%s' % self.speed)
class Auto(Car):
def __init__(self):
super().__init__()
self.ac = False
self.cd = 0
def accerate(self):
self.speed = 50
print('我在加速')
def slow_down(self):
print('我在減速')
car1 = Auto()
print(car1.color)
car1.accerate()
print(car1.speed)
- 創(chuàng)建一個Person類,添加一個類字段用來統(tǒng)計Perosn類的對象的個數
class Person:
num = 0
def __init__(self):
Person.num += 1
@staticmethod
def count():
print('Person類已經有%s個對象' % Person.num)
p1 = Person()
p2 = Person()
Person.count()
- 創(chuàng)建一個動物類缠借,擁有屬性:性別干毅、年齡、顏色泼返、類型 硝逢,
要求打印這個類的對象的時候以'/XXX的對象: 性別-? 年齡-? 顏色-? 類型-?/' 的形式來打印
class Animal:
def __init__(self, age, gender, color, kind):
self.age = age
self.gender = gender
self.color = color
self.kind = kind
def show(self):
Anm = self.__class__
print('%s的對象:性別-%s,年齡-%s绅喉, 顏色-%s渠鸽,種類-%s '
% (Anm.__name__, self.gender, self.age, self.color, self.kind ))
dog = Animal(2, '公', '黃色', '狗')
dog.show()
4.寫一個圓類, 擁有屬性半徑柴罐、面積和周長徽缚;要求獲取面積和周長的時候的時候可以根據半徑的值把對應的值取到。但是給面積和周長賦值的時候革屠,程序直接崩潰凿试,并且提示改屬性不能賦值
class WriteError(Exception):
def __str__(self):
return '不能修改該屬性的值'
class Circle:
def __init__(self, radius):
self._radius = radius
self._area = math.pi * radius ** 2
self._perimeter = math.pi * radius * 2
@property
def radius(self):
return self._radius
@radius.setter
def radius(self, value):
self._radius = value
self._area = math.pi * self._radius ** 2
self._perimeter = math.pi * self._radius * 2
@property
def area(self):
return self._area
@area.setter
def area(self, value):
raise WriteError
@property
def perimeter(self):
return self._perimeter
@perimeter.setter
def perimeter(self, value):
raise WriteError
c1 = Circle(4)
print(c1.area, c1.perimeter)
c1.radius = 5
print(c1.area, c1.perimeter)