python3 程序设计 第7章课后题答案

目录

1.选择题:

2.简答题:

(1)什么是对象?什么是类?类与对象的关系是什么?

(2)面向对象语言有哪三个特性?

(3)什么是面向对象编程的继承性?有什么优点?

(4)类变量与成员变量的区别是什么?

(5)构造方法和析构方法名字都是什么?

(6)构造方法的作用是什么?它与成员方法有什么不同?

(7)请列举出五种重载的运算符及其对应的方法。

3.阅读程序

运行下面的程序,输出结果是什么?说明程序的执行过程。

4.编程题:

(1)设计一个Group类,该类包括:一个数据成员score(每个学生的分数)、两个类成员total(班级的总分)和 count (班级的人数)。成员方法setScore0用于设置分数,成员方法sum(用于累计总分,类方法averageO用于求平均值。交互式输人某组学生的成绩,显示该组的总分和平均分。

(2)为二次方程式ax^2+bx+c=0 设计一个名为Equation的类,这个类包括:

(3)设计一个描述自由落体运动的类,要求能获得任意时刻的速度及位移,并进行测试。已知重力加速度为9.8m/s^2。


1.选择题:

1.A 2.A 3.D 4.C 5.D 6.A 7.C 8.B 9.C 10.D

部分题的解析:

6.重写不是面向编程的基本特征之一,重写通常是子类可以重写父类的方法以改变其行为,是继承的一部分

8.类方法:@classmethod 静态方法:@staticmethod

10.这段代码有两个用test命名的函数,在python中,方法的重载并不像其他语言那样直接支持,因为python会覆盖先前定义的同名方法,所以只有最后一个定义的test方法会被保留,而前一个会被覆盖,在python中,self是用来指代当前对象实例的参数,它需要显式地传递给每个类的方法。所以在定义类的方法时,self参数时必须的,不能省略,在定义类方法是,self时第一个参数,它表示当前对象实例的引用。当你调用类的方法时,python会自动将当前对象实例作为第一个参数传递给该方法,因此你在方法内部可以通过self来访问该对象的属性和方法

2.简答题:

(1)什么是对象?什么是类?类与对象的关系是什么?

对象:对应客观世界的事物 :具有相同或相似性质的对象的抽象就是类

类与对象的关系:对象的抽象就是类,类的具体化就是对象。

(2)面向对象语言有哪三个特性?

1.封装性 2.继承性 3多态性

(3)什么是面向对象编程的继承性?有什么优点?

继承性:描述类之间的关系,在这种关系中,一个类共享了一个或多个其他类定义的数据和操作

优点:增强了代码的复用性,提高了开发效率而且为程序的修改补充提供了便利。

(4)类变量与成员变量的区别是什么?

类变量

  • 类变量是定义在类中,但在所有实例之外的变量。它们属于整个类,而不属于类的特定实例。

  • 类变量可以通过类名直接访问,也可以通过类的任何一个实例来访问。所有该类的实例都共享同一个类变量的值。

  • 类变量通常用于表示该类的特性或共享的状态,比如全局计算器、常量值等。

成员变量

  • 成员变量是定义在类中,但在方法中使用self关键字声明的变量。每个实例都有自己的一组成员变量,它们属于实例。

  • 成员变量在类的每个实例之间是独立的,每个实例可以有不同的成员变量。

  • 成员变量通常用于表示实例的特定状态或属性

区别:类变量是属于整个类的,成员变量是属于类的实例的,类变量在整个类中共享,而成员变量则是每个实例独有的。

(5)构造方法和析构方法名字都是什么?

构造方法的名字:
__init__()
析构方法的名字:
__del__()

(6)构造方法的作用是什么?它与成员方法有什么不同?

构造方法的作用:一般用于为对象数据成员设置初始值或进行其他必要的初始化工作,如果未定义构造方法,python将提供一个默认的构造方法。

不同:构造方法用于初始化对象的状态,在创建对象时自动调用;而成员方法则是定义类的行为或操作的

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值