P145 4、7题 用python写一个类

第4题:

定义一个学生类,包括学号、姓名和出生日期三个属性(数据成员);包括一个用于给定数据成员初始值的构造函数;包含一个可计算学生年龄的方法。编写该类并对其进行测试。

我对类并不熟悉,此题代码来源于:python 类 的小练习_星羽空间的博客-CSDN博客_设计一个立方体类box,定义三个属性

代码为:   注意:运行时请将student1中的学号、生日完善方可运行,否则识别不了

import datetime
class student:
    def __init__(self, Sno, Sname, Sbarthday, Sfaction):
        self.Sage = 0
        self.Sname = Sname
        self.Sno = Sno
        self.Sbarthday = datetime.datetime.strptime(Sbarthday, "%Y-%m-%d")
        self.Setage(Sbarthday)

    def Setage(self, Sbarthday):
        if (datetime.date.today().month - self.Sbarthday.month) >= 0:
            if (datetime.date.today().day - self.Sbarthday.day) < 0 and (
                    datetime.date.today().month - self.Sbarthday.month) == 0:
                self.Sage = datetime.date.today().year - self.Sbarthday.year - 1
            else:
                self.Sage = datetime.date.today().year - self.Sbarthday.year
        else:
            self.Sage = datetime.date.today().year - self.Sbarthday.year - 1

student1 = student('2091201xx', '阿鹏', '20xx-xx-01', 68)
print("学号:{0}   姓名:{1}  年龄:{2}".format(student1.Sno, student1.Sname, student1.Sage))

第7题:

建立一个汽车car类,包括:

属性:汽车颜色color、车身重量weight、速度speed.

构造函数:能初始化各个属性值(speed初始值设为50)。

方法:

speedup():将属性值speed+10并显示speed值;

speedCut():降属性值speed-10并显示speed值;

show ():显示属性值color、weight、speed。

在主程序中创建实例并初始化各属性值,调用show方法、加速方法、减速方法。

代码为:

class Car:
    def __init__(self,color,weight,speed=50):   #定义并将speed赋初值为50
        self.color=color
        self.weight=weight
        self.speed =speed
    def __str__(self):
        return '颜色:%r,重量:%r,速度:%rkm/h' % ( self.color, self.weight, self.speed)
Lamborghini = Car('天蓝色','1520kg',350)   #速度可自行修改
bicycle=Car('白色','20kg')    #速度也可使用默认值
print(f'兰博基尼的属性为:\n{Lamborghini}')
print(f'自行车的属性为:\n{bicycle}')

你可能感兴趣的:(Python,python,开发语言)