1.定义一个学校人员类SchoolPerson,
其中,属性:姓名name、性别sex、年龄age;
方法:设置人员的各个属性的set_info方法;
获取各属性值的get_info方法。
定义好类以后,再定义2个人员进行测试。
class SchoolPerson:
name=''
sex=''
age=0
def set_info(self,name,sex,age):
self.name=name
self.sex=sex
self.age=age
def get_info(self):
print(self.name,self.sex,self.age)
s1=SchoolPerson()
s1.set_info('zhang','男',19)
s1.get_info()
s2=SchoolPerson()8998+9+89+8
s2.set_info('lisi','女',18)
s2.get_info()
2.在第1个题的基础上添加两个方法:
其中,init()方法,完成属性的初始化(要求从键盘输入各属性的值);
del()方法,完成输出“__del__方法调用”这一句话(作用是用来销毁对象)。
class SchoolPerson:
def __init__(self,name,sex,age):
self.__name=name
self.__sex=sex
self.__age=age
def __del__(self):
print("__del__方法调用")
def set_info(self,name,sex,age):
self.name=name
self.sex=sex
self.age=age
def get_info(self):
print(self.__name,self.__sex,self.__age)
name,sex,age=input().split()
s=SchoolPerson(name,sex,age)
s.__del__()
s.get_info()
3.创建学生类Student,继承自SchoolPerson类,添加额外两个属性:班级class、学号sno。
添加方法:打印学生的所有信息print_info方法。
创建教师类Teacher,继承自SchoolPerson类,添加额外两个属性:部门department、工号cno。
添加方法:打印教师的所有信息print_info方法。
4.在上一题的基础上定义学生类、教师类的对象,然后分别调用print_info方法,实现各自对象属性信息的输出。
class SchoolPerson:
def __init__(self,name,sex,age):
self.name=name
self.sex=sex
self.age=age
def __del__(self):
print("__del__方法调用")
def set_info(self,name,sex,age):
self.name=name
self.sex=sex
self.age=age
def get_info(self):
print(self.name,self.sex,self.age,end=' ')
class student(SchoolPerson):
def __init__(self,name,sex,age,clas,sno):
SchoolPerson.__init__(self,name,sex,age)
self.clas=clas
self.sno=sno
def print_info(self):
super(student,self).get_info()
print(self.clas,self.sno)
class Teacher(SchoolPerson):
def __init__(self,name,sex,age,department,cno):
SchoolPerson.__init__(self,name,sex,age)
self.department=department
self.cno=cno
def print_info(self):
super(Teacher,self).get_info()
print(self.department,self.cno)
name1,sex1,age1,class1,sno1=input().split()
s1=student(name1,sex1,age1,class1,sno1)
s1.print_info()
name2,sex2,age2,department,cno=input().split()
s2=Teacher(name2,sex2,age2,department,cno)
s2.print_info()
5.创建类MyMath,计算圆的周长、面积和球的表面积、体积,结果保留两位小数。若输入的是非数字,则输出:请输入数字!提示:要引入math包。
结果如下,请输入半径:5
圆的周长:31.42
圆的面积:78.54
球的表面积:314.16
import math
class MyMath:
def __init__(self,r):
self.r=r
if type(r)!=int:
print("请输入数子")
def print_yuan(self):
print("园的周长是{:.2f}".format(2*math.pi*r))
print("园的面积是{:.2f}".format(math.pi*math.pow(r,2)))
def print_qiu(self):
print("球的表面积是{:.2f}".format(4*math.pi*math.pow(r,2)))
print("球的体积是{:.2f}".format(4/3*math.pi*math.pow(r,3)))
r=int(input())
s=MyMath(r)
s.print_yuan()
s.print_qiu()