Python
第8章参考-面向对象
import time
def trigon_time(fun):
def triangle_time(a, b, c):
start_time = time.time()
c = fun(a, b, c)
stop_time = time.time() - start_time
print(f'一共耗时:{stop_time} 秒')
return c
return triangle_time
@trigon_time
def if_s(a, b, c):
if a + b > c and a + c > b and b + c > a:
print("能构成三角形")
else:
print("不能构成三角形")
if_s(3, 4, 5)
class Course:
# 构造函数 创建属性 id 等
def __init__(self, c_id, c_name, teacher):
# 初始化参数
self.c_id = c_id
self.c_name = c_name
self.teacher = teacher
def print_name(self):
print(f"该课程是{self.c_name}")
def print_teacher(self):
print(f"课程{self.c_name}的老师是{self.teacher}")
def printid(self):
print(f"该课程ID是{self.c_id}")
# 判断是否是在当前文件运行
if __name__ == "__main__":
# 实例化类
cou = Course(123, "厚大法考", "法外狂徒张三")
# 打印课程
cou.print_name()
# 打印教师
cou.print_teacher()
# 打印ID
cou.printid()
第十、十一章
# 1、设计一个课程类,包括课程编号、课程名称、任课教师、上课地点等属性,把上课地点变量设为私有的,增加构造方法和显示课程信息的方法。
class Course:
def __init__(self, nub, name, teacher, location):
self.nub = nub
self.name = name
self.teacher = teacher
self.__location = location
def show_info(self):
print("课程编号为:" + str(self.nub))
print("课程名称为:" + str(self.name))
print("课程老师为:" + str(self.teacher))
print("课程上课地点为:" + str(self.__location))
cou = Course("123", "厚大法考", "法外狂徒张三", "网上直播")
cou.show_info()
# 2、设计一个Circle(圆)类,包括半径、颜色等属性。编写构造方法、以及计算周长方法和面积方法。请编写程序验证类的功能
class Circle:
def __init__(self, color):
self.__pai = 3.14
self.color = color
# 周长
def perimeter(self, r):
print(f"该圆的周长为:{2 * self.__pai * r}")
# 面积
def area(self, r):
print(f"该圆的面积为: {self.__pai * r * r}")
circle = Circle("白色")
# 周长 参数R
circle.perimeter(3)
# 面积 参数R
circle.area(4)
# 3、设计一个表示学生的类:Student,该类的属性有)name(姓名,age(年龄),scores(成绩,包含语文、数学和英语三科成绩,每科成绩的类型为整数),另外此类还有
class Student:
def __init__(self, name, age, scores):
self.name = name
self.age = age
self.scores = scores
def get_name(self):
print(f"该学生叫:{self.name}")
return str(self.name)
def get_age(self):
print(f"该学生年龄为:{self.age}")
return int(self.age)
def get_course(self):
self.scores.sort(reverse=True)
print(f"三门课中最高的是:{self.scores[0]}")
return int(self.scores[0])
# 语文 数学 英语
stu = Student("李四", 18, [90, 100, 92])
stu.get_name()
stu.get_age()
stu.get_course()
# 4、设计一个表示动物的类:Animal,其内部有一个color(颜色)属性和call(叫)的方法。再设计一个表示Fish(鱼)类,该类中有tail(尾巴)和color属性,以及一个call(叫)方法。
# 提示: 让Fish类继承自Animal类,重写init和call方法。
class Animal:
def __init__(self, color):
self.color = color
def call(self):
print("这是动物类叫声,叫声简直千奇百怪")
class Fish(Animal):
def __init__(self, color, tail):
Animal.__init__(self, color)
self.tail = tail
def call(self):
print("这个是鱼,叫声:啊呜~啊呜~")
fish = Fish("白色", "长尾")
fish.call()