python类的测试题目

1、在Python中定义类时,如果某个成员名称前有2个下划线则表示是私有成员。
答案:错
解析:前后都有双下划线的,专属系统定义的成员.

2、在类定义的外部没有任何办法可以访问对象的私有成员。
答案:错
解析:在类外部可以“_类名__私有成员名”来访问

3、定义类时所有实例方法的第一个参数用来表示对象本身,在类的外部通过对象名来调用实例方法时不需要为该参数传值。
答案:对
解析:一般通过“对象名.实例方法"来调用实例方法

4、在面向对象程序设计中,函数和方法是完全一样的,都必须为所有参数进行传值。
答案:错
解析:在类的类方法、实例方法都有隐含类、对象参数,在调用时不需要进行传值。

5、对于Python类中的私有成员,可以通过“对象名._类名__私有成员名”的方式来访问。
答案:对
解析:对象名._类名__私有成员名”来访问类的私有成员

6、在Python中定义类时实例方法的第一个参数名称不管是什么,都表示对象自身。
答案:对
解析:类的实例方法当隐含的第一个参数必须是对象本身,不管什么形式(如self, own)

7、在Python中可以为自定义类的对象动态增加新成员。
答案:对
解析:Python是动态语言,可以动态增加新成员

8、Python中的一切内容都可以称为对象,函数也是对象,类也是对象
答案:对
解析:Python是面向对象语言,一切都是对象

9、类的静态方法和类方法也可以直接访问类的数据成员和成员方法。
答案:错
解析:无论静态方法还是类方法,都把对象作为默认参数传入,所以不能访问数据成员及成员方法

10、Python使用_____关键字来定义类。
答案:class
解析:

11、定义类时,____(必须、不必须?)指定基类。
答案:不必须
解析:类可以不继承任何类

12、定义类时,如果在某个成员方法的定义之前加上修饰器@property,则表示这是一个________。
答案:属性
解析:把一个方法当作属性来访问

13、Python_______(支持、不支持?)多继承。
答案:支持
解析:在类定义,多继承用,来分隔

14、在Python中,不管类名是什么,构造方法的名字都是_________。注意不要忘记名字后面要加上英文半角圆括号。
答案:init()
解析:构造方法属于Python系统定义的方法

15、通过对象名________(可以、不可以?)调用所属类的静态方法和类方法。
答案:可以
解析:静态方法、类方法都可以都类名、对象名来访问

16、面向对象程序设计OOP这三个字母是哪三个单词的缩写?注意每个单词的首字母要大写,并且相邻两个单词之间使用一个空格分隔。
答案:Object Oriented Programming
解析:面向对象程序设计

17、通过对象______(可以、不可以?)直接访问对象的公有成员。
答案:可以
解析:对象.公有成员

18、如果暂时没有想好类的实现,可以使用关键字_________作为占位符。
答案:pass
解析:

你可能感兴趣的:(python)