當前位置:
首頁 >
python学习实验报告(第五周)
發布時間:2023/12/16
28
豆豆
生活随笔
收集整理的這篇文章主要介紹了
python学习实验报告(第五周)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、實驗目的
1. 掌握:Python類的定義,class關鍵字,創建對象的方法,訪問對象中的成員。
2. 掌握:私有成員與公有成員,數據成員與成員方法,類方法與靜態方法,屬性的定義與使用,混入機制。
3. 掌握:繼承的作用與Python實現。
4. 掌握:構造函數 __ init __ (),析構函數__ del __ (),__ dd __ ()、__ mul __ ()、__ pow __ ()及其他Python類特殊方法與運算符的對應關系。
二、實驗內容及結果
1. 有下面的類屬性:姓名、年齡、成績列表[語文,數學,英語],其中每門課成績的類型為整數,類的方法如下所述:
- (1)列表項列表項獲取學生的姓名。get_name(),返回類型:str。
- (2)獲取學生的年齡。get_age(),返回類型:int。
- (3)返回3門科目中最高的分數。get_course(), 返回類型:int。
- 類定義好之后,可以定義同學測試如下: zm = Student(‘zhangming’,20,[69,88,100]);返回結果: zhangming 20 100
2. 設計一個Circle(圓)類,包括圓心位置、半徑、顏色等屬性。編寫構造方法和其他方法,計算周長和面積。請編寫程序驗證Circle(圓)類的功能。
import math class Circle:def __init__(self, center, radius, color):self.center = centerself.radius = radiusself.color = colordef compute_perimeter(self):return round(2 * math.pi * self.radius, 2)def compute_area(self):return round(math.pi * self.radius**2, 2)circle = Circle((1, -1), 2, "blue") print("圓的屬性有:圓心位置為{},半徑為{},顏色為{}".format(circle.center, circle.radius, circle.color)) print("此圓的周長為{},面積{}".format(circle.compute_perimeter(), circle.compute_area()))3. 封裝一個學生類,有姓名,有年齡,有性別,有英語成績,數學成績,語文成績;求總分,平均分,以及打印輸出學生的相關信息。
class Student:def __init__(self, name, age, sex, sc_list):self.name = nameself.age = ageself.sex = sexself.sc_list = sc_listdef compute_total(self):total = 0for i in range(len(self.sc_list)):total += self.sc_list[i]return totaldef compute_average(self):return round(self.compute_total()/len(self.sc_list), 2)s1 = Student('lisi', 20, 'male', [77, 88, 99]) print("姓名:{},年齡:{},性別:{},成績:英語{} 數學{} 語文{}".format(s1.name, s1.age, s1.sex, s1.sc_list[0], s1.sc_list[1], s1.sc_list[2])) print("該學生的總分為{},平均分為{}".format(s1.compute_total(), s1.compute_average()))4. 設計一個Person類,屬性有姓名、年齡、性別,創建方法personInfo,打印輸出這個人的信息;創建Student類,繼承Person類,屬性有學院college,班級Group,重寫父類PersonInfo方法,調用父類方法打印輸出個人信息,將學生的學院、班級信息也打印輸出出來。
class Person:def __init__(self, name, age, sex):self.name = nameself.age = ageself.sex = sexdef personinfo(self):print("姓名:{},年齡:{},性別:{}".format(self.name, self.age, self.sex))class Student(Person):def __init__(self, name, age, sex, Group, college):super().__init__(name, age, sex)self.Group = Groupself.college = collegedef personinfo(self):print("姓名:{} 年齡:{} 性別:{} 班級:{} 學院:{}".format(self.name, self.age, self.sex, self.Group, self.college))s1 = Person('liuer', 20, 'male') s1.personinfo() s2 = Student('liuer', 20, 'male', '21-1', 'software college') s2.personinfo()5. 定義一個交通工具(Vehicle)的類,屬性:速度(speed)、體積(size)等等。方法:移動move()、設置速度setSpeed(int speed)、加速speedUp()、減速speedDown()等等。實例化一個交通工具對象,通過方法初始化speed、size的值并且在相關方法中可以打印輸出出來;另外調用加速減速的方法對速度進行改變。
class Vehicle:def __init__(self, speed, size):self.speed = speedself.size = sizedef printinfo(self):print("此交通工具的速度為{}km/h,體積為{}m^3".format(self.speed, self.size))def setSpeed(self, sp):self.speed = spprint("Vehicle speed {}km/h".format(self.speed))def move(self):print("Igniting...")self.setSpeed(10)print("Set vehicle speed 10. Move forward.")def stop(self):self.setSpeed(0)print("Vehicle stop!")def speedUp(self, num):if self.speed + num >= 120:self.setSpeed(120)print("Speed reaches upper limit!")else:self.setSpeed(self.speed+num)def speedDown(self, num):if self.speed - num < 0:self.stop()else:self.setSpeed(self.speed-num)car = Vehicle(0, 8) car.printinfo() car.move() car.setSpeed(50) car.speedUp(20) car.speedUp(60) car.speedDown(20) car.stop()三、實驗小結
本周題型針對的是類的使用,對于python的面向對象編程我還是有較大的不足。我目前只能運用最基本的構造和繼承類的方法,而對于更深層次——靈活使用類方法和靜態方法、析構函數等,還是有所欠缺,一般在解題的時候也都不會往那些方面去想。
總結
以上是生活随笔為你收集整理的python学习实验报告(第五周)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java js 二级联动下拉列表_最简单
- 下一篇: python+vue+elementui