技巧福利详情

2023《Python程序设计》试题库:第6章面向对象程序设计(含答案)

2023《Python程序设计》试题库:第6章面向对象程序设计(含答案)

一、填空题

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

406、表达式 isinstance('abc', str) 的值为________________。(True)

407、表达式 isinstance('abc', int) 的值为_______________。(False)

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

409、表达式 isinstance('4', (int, float, complex)) 的值为_____________。(False)

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

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

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

413、表达式 type('3') in (int, float, complex) 的值为____________。(False)

414、表达式 type(3) == int 的值为__________。(True)

415、在Python定义类时,与运算符“**”相应的特殊方法名为 _____________。(__pow__())

416、在Python中定义类时,与运算符“//”相应的特殊方法名为_______________。(__floordiv__())

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

418、表达式type({}) == set的值为_______________。(False)

419、在Python中,不管类的名字是什么,构造方法的名字都是________________。(__init__)

420、假如在设计一个类时实现了__contains__ ()方法,那么该类的对象会自动支持_____________运算符。(in)


二、判断题

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

231、Python类的构造函数是__init__()。(对)

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

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

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

235、在Python中可认为自定义类的对象动态增长新成员。(对)

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

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

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

239、任何包含__call__()方法的类的对象都是可调用的。(对)

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

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

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

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