0.定義一個(gè)學(xué)生類。有屬性:姓名、年年齡、成績(jī)(語?文,數(shù)學(xué),英語)[每課成績(jī)的類型為整數(shù)]
方法: a. 獲取學(xué)生的姓名:getname()
b. 獲取學(xué)生的年年齡: getage()
c. 返回3門科目中最高的分?jǐn)?shù)。get_course()
class Student:
def __init__(self, name, age, scores):
self.name = name
self.age = age
self.scores = scores
def get_name(self):
return self.name
def get_age(self):
return self.age
def get_course(self):
return max(self.scores)
if __name__ == '__main__':
# 測(cè)試代碼
stu = Student('小明', 14, (92, 99, 100))
print(stu.get_name(), stu.get_age(), stu.get_course())
# 結(jié)果
小明 14 100
1.建立一個(gè)汽車類Auto,包括輪胎個(gè)數(shù),汽車顏色,車身重量,速度等成員變量,并通過不同的構(gòu)造方法創(chuàng)建實(shí)例。至少要求 汽車能夠加速 減速 停車。 再定義一個(gè)小汽車類CarAuto 繼承Auto 并添加空調(diào)、CD等成員變量 覆蓋加速 減速的方法
class Auto:
def __init__(self, color='', weight=0, speed=0):
self.shoe_number = 4
self.color = color
self.weight = weight
self.speed = speed
def up_speed(self, up):
return self.speed + up
def down_speed(self, down):
return self.speed - down
@staticmethod
def stop(self):
return False
class CarAuto(Auto):
def __init__(self, color, weight, speed, ac, cd):
super().__init__(color, weight, speed)
self.ac = ac
self.cd = cd
def up_speed(self, level):
return self.speed + level*10
def down_speed(self, level):
return self.speed - level*10
if __name__ == '__main__':
a1 = Auto('red', 1600, 180)
a2 = Auto(speed=185, weight=1580,color='white')
a3 = Auto()
a3.color = 'black'
a3.weight = 1700
a3.speed = 190
print(a1.__dict__, a2.__dict__, a3.__dict__, sep='\n')
# 結(jié)果
{'shoe_number': 4, 'color': 'red', 'weight': 1600, 'speed': 180}
{'shoe_number': 4, 'color': 'white', 'weight': 1580, 'speed': 185}
{'shoe_number': 4, 'color': 'black', 'weight': 1700, 'speed': 190}
2.創(chuàng)建一個(gè)名為User 的類,其中包含屬性firstname 和 lastname ,還有用戶簡(jiǎn)介通常會(huì)存儲(chǔ)的其他幾個(gè)屬性。在類User 中定義一個(gè)名 為describeuser() 的方法,它打印用戶信息摘要 ; 再定義一個(gè)名為 greetuser() 的方法,它向用戶發(fā)出個(gè)性化的問候。
管理員是一種特殊的用戶。編寫一個(gè)名為Admin 的類,讓它繼承User類。添加一個(gè)名為privileges 的屬性,用于存儲(chǔ)一個(gè)由字符串(如"can add post"、"can delete post"、"can ban user"等)組成的列表。編寫一個(gè)名為show_privileges()的方法,它顯示管理員的權(quán)限。
創(chuàng)建一個(gè)Admin 實(shí)例,并調(diào)用這個(gè)方法。
class User:
def __init__(self, first_name='', last_name='', login_name='', password='', position=''):
self.first_name = first_name
self.last_name = last_name
self.login_name = login_name
self.password = password
self.position = position
def describe_user(self):
print(self.__dict__)
def greet_user(self):
print('Hello %s !' % (self.first_name + '' + self.last_name))
class Admin(User):
def __init__(self):
super().__init__()
self.privileges = ["can add post", "can delete post", "can ban user"]
def show_privileges(self):
print('Admin\'s privileges are:', self.privileges)
if __name__ == '__main__':
a = Admin()
a.show_privileges()
# 結(jié)果
Admin's privileges are: ['can add post', 'can delete post', 'can ban user']
3.創(chuàng)建一個(gè)Person類,添加一個(gè)類字段用來統(tǒng)計(jì)Perosn類的對(duì)象的個(gè)數(shù)
"""new python"""
class Person:
__person_number = 0
def __init__(self):
Person.__person_number += 1
def __del__(self):
Person.__person_number -= 1
@classmethod
def person_number(cls):
return cls.__person_number
if __name__ == '__main__':
a = Person()
b = Person()
c = Person()
d = Person()
print(Person.person_number())
del a
print(Person.person_number())
del b
del c
print(Person.person_number())
# 結(jié)果
4
3
1
(嘗試)5.寫一個(gè)類,其功能是:
1.解析指定的歌詞文件的內(nèi)容
2.按時(shí)間顯示歌詞
提示:歌詞文件的內(nèi)容一般是按下面的格式進(jìn)行存儲(chǔ)的。歌詞前面對(duì)應(yīng)的是時(shí)間,在對(duì)應(yīng)的時(shí)間點(diǎn)可以顯示對(duì)應(yīng)的歌詞