- 建立一個(gè)汽車類Auto,包括輪胎個(gè)數(shù),汽車顏色,車身重量,速度等屬性,并通過不同的構(gòu)造方法創(chuàng)建實(shí)例。至少要求 汽車能夠加速 減速 停車。 再定義一個(gè)小汽車類CarAuto 繼承Auto 并添加空調(diào)、CD屬性,并且重新實(shí)現(xiàn)方法覆蓋加速、減速的方法
class Auto:
# 建立一個(gè)汽車類Auto,包括輪胎個(gè)數(shù),汽車顏色,車身重量,速度等屬性,
def __init__(self, wheel_num, color, weight, speed):
self.wheel_num = 4
self.color = 'pink'
self.weight = 0
self.speed = 60
def speed_up(self, amount):
print('當(dāng)前時(shí)速為%d' % self.speed + amount)
def speed_down(self, amount):
print('當(dāng)前時(shí)速為%d' % self.speed - amount)
if (self.speed - amount) == 0:
print('已停車')
# 并通過不同的構(gòu)造方法創(chuàng)建實(shí)例。至少要求 汽車能夠加速 減速 停車。
# 再定義一個(gè)小汽車類CarAuto 繼承Auto 并添加空調(diào)、CD屬性,
class CarAuto(Auto):
def __init__(self):
super().__init__()
self.ac = 'geli'
self.cd = 'CD'
# 并且重新實(shí)現(xiàn)方法覆蓋加速、減速的方法
def speed_up(self, amount):
print('現(xiàn)在車速為:', self.speed + amount)
def speed_down(self, amount):
print('現(xiàn)在車速為:', self.speed - amount)
if self.speed - amount <= 0:
print('已停車')
- 創(chuàng)建一個(gè)Person類,添加一個(gè)類字段用來統(tǒng)計(jì)Perosn類的對象的個(gè)數(shù)
class Person:
num = 0
def __init__(self, name):
self.name = name
Person.num += 1
p1 = Person('渣渣輝')
p2 = Person('大師兄')
print(Person.num)
- 創(chuàng)建一個(gè)動(dòng)物類,擁有屬性:性別、年齡、顏色、類型 ,
要求打印這個(gè)類的對象的時(shí)候以'/XXX的對象: 性別-? 年齡-? 顏色-? 類型-?/' 的形式來打印
class Animal:
def __init__(self, gender, age, color, species):
self.gender = gender
self.age = age
self.color = color
self.species = species
def dayin(self):
return ('%s的對象, 性別%s, 年齡%d, 顏色%s, 類型%s' % (self.__class__, self.gender, self.age, self.color, self.species))
a1 = Animal('male', 12, '黑', 'dog')
print(a1.dayin())
- 寫一個(gè)圓類, 擁有屬性半徑、面積和周長;要求獲取面積和周長的時(shí)候的時(shí)候可以根據(jù)半徑的值把對應(yīng)的值取到。但是給面積和周長賦值的時(shí)候,程序直接崩潰,并且提示改屬性不能賦值
class Circle:
def __init__(self, radius):
self._radius = radius
self._area = 3.14*radius**2
self._primeter = 2*3.14*radius
@property
def radius(self):
return self._radius
@radius.setter
def radius(self, value):
self._radius = value
self._area = 3.14*value**2
self._primeter = 2 * 3.14 * value
@property
def area(self):
return self.area
@area.setter
def area(self, value):
raise ValueError
@property
def primeter(self):
return self.radius
@primeter.setter
def primeter(self, value):
raise ValueError
c1 = Circle(2)
- (嘗試)寫一個(gè)類,其功能是:1.解析指定的歌詞文件的內(nèi)容 2.按時(shí)間顯示歌詞 提示:歌詞文件的內(nèi)容一般是按下面的格式進(jìn)行存儲的。歌詞前面對應(yīng)的是時(shí)間,在對應(yīng)的時(shí)間點(diǎn)可以顯示對應(yīng)的歌詞
[00:00.20]藍(lán)蓮花
[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]當(dāng)你低頭地瞬間
[02:26.79][02:05.72][00:37.16]才發(fā)覺腳下的路
[02:32.17][00:42.69]心中那自由地世界
[02:37.20][00:47.58]如此的清澈高遠(yuǎn)
[02:42.32][00:52.72]盛開著永不凋零
[02:47.83][00:57.47]藍(lán)蓮花