填空

1、 Python使用()关键字来定义类。(class)

2、 表达式 isinstance(‘abc’, str) 的值为()。(True)

3、 表达式 isinstance(‘abc’, int) 的值为()。(False)

4、 表达式 isinstance(4j, (int, float, complex)) 的值为()。(True)

5、 表达式 isinstance(‘4’, (int, float, complex)) 的值为

False
  • isinstance(object,classinfo)用于判断一个对象是否是一个已知的类型。和type()的区别在于前者会认为子类是一种父类类型,会考虑继承关系。classinfo可以是直接或间接类名、基本类型或者由它们组成的元组。

6、 表达式 type(3) in (int, float, complex) 的值为()。(True)

7、 表达式 type(3.0) in (int, float, complex) 的值为()。(True)

8、 表达式 type(3+4j) in (int, float, complex) 的值为()。(True)

9、 表达式 type(‘3’) in (int, float, complex) 的值为()。(False)

10、 表达式 type(3) == int 的值为

True

11、 在Python定义类时,与运算符“**”对应的特殊方法名为

__pow__()

12、 在Python中定义类时,与运算符“//”对应的特殊方法名为

__floordiv__()

13、 表达式type({}) == dict的值为()。(True)

14、 表达式type({}) == set的值为

False
  • {}会被认为是字典而不是集合

15、 在Python中,不论类的名字是什么,构造方法的名字都是

__init__()

16、 如果在设计一个类时实现了__ contains __ ()方法,那么该类的对象会自动支持()运算符。

in

判断

1、 在Python中定义类时,如果某个成员名称前有2个下划线则表示是私有成员。(对)

2、 在类定义的外部没有任何办法可以访问对象的私有成员。(错)

3、 Python中一切内容都可以称为对象。(对)

4、 栈和队列的都具有先入后出的特点。(错)

5、 在一个软件的设计与开发中,所有类名、函数名、变量名都应该遵循统一的风格和规范。(对)

6、 定义类时所有实例方法的第一个参数用来表示对象本身,在类的外部通过对象名来调用实例方法时不需要为该参数传值。(对)

7、 在面向对象程序设计中,函数和方法是完全一样的,都必须为所有参数进行传值。(错)

8、 Python中没有严格意义上的私有成员。(对)

9、 在Python中定义类时,运算符重载是通过重写特殊方法实现的。例如,在类中实现了__ mul __()方法即可支持该类对象的**运算符。(错)

10、 在IDLE交互模式下,一个下划线“_”表示解释器中最后一次显示的内容或最后一次语句正确执行的输出结果。(对)

11、 对于Python类中的私有成员,可以通过“对象名._类名__私有成员名”的方式来访问。(对)

12、 运算符“-”可以用于集合的差集运算。(对)

13、 如果定义类时没有编写析构函数,Python将提供一个默认的析构函数进行必要的资源清理工作。(对)

14、 已知seq为长度大于10的列表,并且已导入random模块,那么[random.choice(seq) for i in range(10)]和random.sample(seq,10)等价。(错)

15、 在派生类中可以通过“基类名.方法名()”的方式来调用基类中的方法。(对)

16、 Python支持多继承,如果父类中有相同的方法名,而在子类中调用时没有指定父类名,则Python解释器将从左向右按顺序进行搜索。(对)

17、 在Python中定义类时实例方法的第一个参数名称必须是self。(错)

18、 在Python中定义类时实例方法的第一个参数名称不管是什么,都表示对象自身。(对)

19、 定义类时如果实现了__ contains __()方法,该类对象即可支持成员测试运算in。(对)

20、 定义类时如果实现了__ len __()方法,该类对象即可支持内置函数len()。(对)

21、 定义类时实现了__ eq __()方法,该类对象即可支持运算符==。(对)

22、 定义类时实现了__ pow __()方法,该类对象即可支持运算符**。(对)

23、 Python类的构造函数是__ init__()。(对)

24、 定义类时,在一个方法前面使用@classmethod进行修饰,则该方法属于类方法。(对)

25、 定义类时,在一个方法前面使用@staticmethod进行休息,则该方法属于静态方法。(对)

26、 通过对象不能调用类方法和静态方法。(错)

27、 在Python中可以为自定义类的对象动态增加新成员。(对)

28、 Python类不支持多继承。(错)

29、 属性可以像数据成员一样进行访问,但赋值时具有方法的优点,可以对新值进行检查。(对)

30、 只可以动态为对象增加数据成员,而不能为对象动态增加成员方法。(错)

31、 任何包含__ call __()方法的类的对象都是可调用的。(对)

32、 在Python中函数和类都属于可调用对象。(对)

33、 函数和对象方法是一样的,内部实现和外部调用都没有任何区别。(错)

34、 在设计派生类时,基类的私有成员默认是不会继承的。(对)

35、 如果在设计一个类时实现类__ len __()方法,那么该类的对象会自动支持Python内置函数len()。(对)