- 建立一個汽車類Auto,包括輪胎個數(shù),汽車顏色,車身重量,速度等屬性,并通過不同的構造方法創(chuàng)建實例。至少要求 汽車能夠加速 減速 停車。 再定義一個小汽車類CarAuto 繼承Auto 并添加空調(diào)、CD屬性,并且重新實現(xiàn)方法覆蓋加速、減速的方法
class Auto:
def __init__(self, tire=4, color='黑色', weight=500, speed=200):
self.tire = tire
self.color = color
self.weight = weight
self.speed = speed
def speed_up(self, speed):
print('速度增加到了%dkm/h' % speed)
def speed_dowm(self, speed):
print('速度增加到了%dkm/h' % speed)
def speed_stop(self, speed):
print('速度為%dkm/h,停車了' % speed)
class CarAuto(Auto):
def __init__(self, tire=4, color='黑色', weight=500, speed=200, air=False, cd=True):
super().__init__()
self.tire = tire
self.color = color
self.weight = weight
self.speed = speed
self.air = air
self.cd = cd
@classmethod
def speed_up(cls, speed):
print('速度增加到了%dkm/h' % speed)
@classmethod
def speed_dowm(cls, speed):
print('速度增加到了%dkm/h' % speed)
@classmethod
def speed_stop(cls, speed):
print('速度為%dkm/h,停車了' % speed)
c1 = CarAuto(speed=100, air=True)
c2 = CarAuto(weight=1000)
c3 = CarAuto(color='綠色')
c4 = CarAuto(tire=5)
print(c1.__dict__)
print(c2.__dict__)
print(c3.__dict__)
print(c4.__dict__)
CarAuto.speed_up(200)
CarAuto.speed_dowm(50)
CarAuto.speed_stop(0)
- 創(chuàng)建一個Person類,添加一個類字段用來統(tǒng)計Perosn類的對象的個數(shù)
class Person:
count = 0
def __init__(self):
Person.count += 1
p1 = Person()
p2 = Person()
p3 = Person()
print('Person類的對象有%d個' % Person.count)
-
創(chuàng)建一個動物類,擁有屬性:性別、年齡、顏色、類型 ,
要求打印這個類的對象的時候以'/XXX的對象: 性別-? 年齡-? 顏色-? 類型-?/' 的形式來打印
class Animal:
def __init__(self, gender, age, color, types):
self.gender = gender
self.age = age
self.color = color
self.types = types
def print_out(self):
return '性別-%s 年齡-%s 顏色-%s 類型-%s' % (self.gender, self.age, self.color, self.types)
animal = Animal('公', '3歲', '黑色', '老虎')
print(Animal.__name__, '的對象:', animal.print_out())
- 寫一個圓類, 擁有屬性半徑、面積和周長;要求獲取面積和周長的時候的時候可以根據(jù)半徑的值把對應的值取到。但是給面積和周長賦值的時候,程序直接崩潰,并且提示改屬性不能賦值
import math
class Circle:
def __init__(self, r):
self._r = r
self._perimeter = 2 * math.pi * r
self._area = math.pi * r**2
@property
def r(self):
return self._r
@r.setter
def r(self, value):
self._r = value
self._perimeter = 2 * math.pi * self._r
self._area = math.pi * self._r**2
@property
def perimeter(self):
return self._perimeter
@perimeter.setter
def perimeter(self, value):
raise ValueError
@property
def area(self):
return self._area
@area.setter
def area(self, value):
raise ValueError
r1 = Circle(5)
print('周長:', r1.perimeter, '面積:', r1.area)
r1.r = 2
print('周長:', r1.perimeter, '面積:', r1.area)
-
(嘗試)寫一個類,其功能是:1.解析指定的歌詞文件的內(nèi)容 2.按時間顯示歌詞 提示:歌詞文件的內(nèi)容一般是按下面的格式進行存儲的。歌詞前面對應的是時間,在對應的時間點可以顯示對應的歌詞
[00:00.20]藍蓮花 [00:00.80]沒有什么能夠阻擋 [00:06.53]你對自由地向往 [00:11.59]天馬行空的生涯 [00:16.53]你的心了無牽掛 [02:11.27][01:50.22][00:21.95]穿過幽暗地歲月 [02:16.51][01:55.46][00:26.83]也曾感到彷徨 [02:21.81][02:00.60][00:32.30]當你低頭地瞬間 [02:26.79][02:05.72][00:37.16]才發(fā)覺腳下的路 [02:32.17][00:42.69]心中那自由地世界 [02:37.20][00:47.58]如此的清澈高遠 [02:42.32][00:52.72]盛開著永不凋零 [02:47.83][00:57.47]藍蓮花