《Python程序设计》习题与答案-python教材答案

内容发布更新时间 : 2025/6/23 3:18:40星期一 下面是文章的全部内容请认真阅读。

第6章 面向对象程序设计

6.1 继承6.5节例2中的Person类生成Student类,填写新的函数用来设置学生专业,然后生成该类对象并显示信息。

答:Python 3.4.2代码为

import types

class Person(object): #基类必须继承于object,否则在派生类中将无法使用super()函数 def __init__(self, name = '', age = 20, sex = 'man'): self.setName(name) self.setAge(age) self.setSex(sex) def setName(self, name):

if not isinstance(name,str):

print('name must be string.') return

self.__name = name def setAge(self, age):

if not isinstance(age,int):

print('age must be integer.') return

self.__age = age def setSex(self, sex):

if sex != 'man' and sex != 'woman':

print('sex must be \ return

self.__sex = sex def show(self):

print(self.__name) print(self.__age) print(self.__sex) class Student(Person):

def __init__(self, name='', age = 30, sex = 'man', major = 'Computer'): #调用基类构造方法初始化基类的私有数据成员 super(Student, self).__init__(name, age, sex)

self.setMajor(major) #初始化派生类的数据成员 def setMajor(self, major):

if not isinstance(major, str):

print('major must be a string.') return

self.__major = major def show(self):

super(Student, self).show()

print(self.__major) if __name__ =='__main__':

zhangsan = Person('Zhang San', 19, 'man') zhangsan.show()

lisi = Student('Li Si',32, 'man', 'Math') lisi.show()

6.2 设计一个三维向量类,并实现向量的加法、减法以及向量与标量的乘法和除法运算。 答:Python 3.4.2代码如下 class Vecter3:

def __init__

>>展开全文<<
12@gma联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4 ceshi