一、类和对象

1.关于面向对象的继承,以下选项中描述正确的是?

A.继承是指一个对象具有另一个对象的性质
B.继承是指一组对象所具有的相似性质
C.继承是指类之间共享属性和操作的机制
D.继承是指各对象之间的共同性质

2.在Python中,可以通过()将一个方法转换为属性,从而实现用于计算的属性.

A.@property
B.property
C.property@
D.@property@

3.类有一个名为__init__()的特殊方法(构造方法),该方法在()时会自动调用?

A.调用类
B.调用方法
C.类实例化
D.实例方法

4.封装对象的属性和行为的载体是什么?

A.类
B.方法
C.属性
D.接口

5.在__init__()方法中,除了self参数外,还可以自定义一些参数,参数间使用()进行分割.

A.:
B.;
C.*
D.,

6.实例方法的第一个参数必须是什么?

A.parameterlist
B.self
C.list
D.statement

7.在类中定义的函数,我们通常叫做什么?

A.函数
B.方法
C.类
D.子类

8.在类的内部,使用()关键字来定义一个方法。

A.int
B.for
C.while
D.def

9.实例方法创建完成后,可以通过类的实例名称和()操作符进行访问.

A./
B.@
C..
D.*

10.类属性可以通过类名称或者()访问.

A.实例名称
B.函数名称
C.属性名称
D.任意名称 

11.与运算符**对应的特殊方法名为?

A.__init__()
B.__del__()
C.__pow__()
D.__len__()

12.阅读下面代码,写出输出结果.

class Father:

    def speak(self):
        print("this is father speak")


class Son(Father):

    def speak2(self):
        Father.speak(self)
        print("this is son speak2")


obj = Son()
obj.speak2()

A.this is father speak
B.this is father speak
  this is son speak2
C.this is son speak2
D.this is son speak2
  this is father speak

13.下面一段代码,输出结果是多少?

class People:
    name = ''
    age = 0
    __weight = 0

    def __init__(self, n, a, w):
        self.name = n
        self.age = a
        self.__weight = w

    def speak(self):
        print("%s 说: 我 %d 岁。" % (self.name, self.age))


class Student(People):
    grade = ''

    def __init__(self, n, a, w, g):
        People.__init__(self, n, a, w)
        self.grade = g

    def speak(self):
        print("%s 说: 我 %d 岁了,我在读 %d 年级" % (self.name, self.age, self.grade))


s = Student('ken', 13, 60, 6)
s.speak()

A.ken 15  6
B.15606
C.ken 说:13 岁了,我在读 6 年级
D."ken 说: 我 13 岁了,我在读 6 年级"

14.小明写了一段代码,你知道代码的输出结果吗?

class MyClass:

    def f(self):
        return 'hello world'


x = MyClass()

print(x.f())

A.'hello world'
B.hello
C.world
D.hello world

15.阅读下面代码,输出结果是什么?

class Father:
    father_var = "this is father_var"

    def father_def(self):
        print("this is father_def")


class Son(Father):
    pass


obj = Son()

print(obj.father_var)
obj.father_def()

A.this is father_var
  this is father_def
B.this is father_def
  this is father_var
C.this is father_var
D.this is father_def

16.小明闲来无事,写了一段代码,聪明的你看看代码输出结果吧.

class People:
    name = ''
    age = 0
    __weight = 0

    def __init__(self, n, a, w):
        self.name = n
        self.age = a
        self.__weight = w

    def speak(self):
        print("%s 说: 我 %d 岁。" % (self.name, self.age))


p = People('Jack', 10, 30)
p.speak()

A.Jack  10
B.Jack 说:10 岁。
C.Jack 说:30 岁。
D.Jack  30

17.假设a为类A的对象且包含一个私有数据成员__value,那么在类的外部通过对象a直接将其私有数据成员__value的值设置为3的语句可以写作()?

A.a.value=3
B.value==3
C.a._A__value=3
D.a._A__value==3

18.如果在设计一个类时实现了__contains__()方法,那么该类的对象会自动支持()运算符.

A.in
B.for
C.at
D.del

19.阅读下面代码,写出输出结果:

class JustCounter:
    __secretCount = 0
    publicCount = 0

    def count(self):
        self.__secretCount += 1
        self.publicCount += 1
        print(self.__secretCount)


counter = JustCounter()
counter.count()
counter.count()

A.0 1
B.1 1
C.2 1
D.1 2

20.下面代码运行结果是什么?

class MyClass:

    def __init__(self):
        print("this is my class")


obj = MyClass()

A.this is my class
B.myclass
C.什么也不输出
D.代码错误

21.下面一段代码,输出结果是什么?

class GrandFather:

    def speak(self):
        print("1")


class Father(GrandFather):

    def speak(self):
        print("2")


class Son(Father):

    def speak(self):
        print("3")


class Son2(GrandFather):
    def speak(self):
        print("4")


class MyClass(Son, Son2):

    def speak(self):
        print("5")


obj = MyClass()
obj.speak()

A.5
B.4
C.3
D.12345

22.阅读下面代码,输出结果是什么?

class GrandFather:

    def speak(self):
        print("xiaobai")


class Father(GrandFather):
    def speak(self):
        print("Father amo")


class Son(Father):
    pass


class Son2(GrandFather):
    def speak(self):
        print("Son2 amo")


class MyClass(Son, Son2):
    pass


obj = MyClass()
obj.speak()

A.Father amo
B.xiaobai
C.Son2 amo
D.MyClass

23.阅读下面代码,写出输出结果:

class MyClass:

    def __init__(self, name1, age1):
        self.name = name1
        self.age = age1


obj1 = MyClass("IKTP", 22)
obj2 = MyClass("haha", 23)
print(obj1.name)
print(obj2.age)

A.haha 23
B.IKTP 22
C.IKTP 23
D.haha 22

24.阅读下面代码,写出输出结果:

class Father:

    def speak(self):
        print("A")

    def speak2(self):
        print("B")


class Son(Father):

    def speak2(self):
        print("C")


obj = Son()
obj.speak2()

A.A
B.B
C.C
D.ABC

25.下面一段代码运行后会输出什么?

class People:
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def __str__(self):
        return '这个人的名字是%s,已经有%d岁了!' % (self.name, self.age)


a = People('孙悟空', 999)
print(a)

A.什么都不输出
B.'孙悟空',999
C.孙悟空, 999
D.这个人的名字是孙悟空,已经有999岁了!

26.小明今年18岁了,他写了一段代码,想输出自己的年龄,看看他写的对不对吧.

class Ren:
    name = ''
    age = 0

    def __init__(self, n, a):
        self.name = n
        self.age = a

    def speak():
        print("%s 说: 我 %d 岁。" % (self.name, self.age))


r = Ren('小明', 18)
r.speak()

A.没有错误
B.5行n,a改成n:a
C.9行改成def speak(self):
D.14行改成r.speak(r)

27.小红写了一段代码,输出她的公司名和网址,帮她看看有没有错误吧!

class Site:
    def __init__(self, name, url):
        self.name = name
        self.__url = url

    def who(self):
        print('name  : ', self.name)
        print('url : ', self.__url)

    def __foo(self):
        print('1')

    def foo(self):
        print('2')
        self.__foo()


x = Site('Amo', 'www.baidu.com')
x.who()
x.foo()
x.__foo()

A.2行书写格式错误
B.6行self去掉
C.21行错误,外部不能调用私有方法
D.没有错误

28.小明公司门口有一条狗叫明明,今年7岁了,他利用刚学的Python面向对象知识写了一段代码,输出明明的名字和年龄,看看他写的对不对.

class Dog:

    def __init__(self, name, age):
        self.name = name
        self.age = age

    def __str__(self):
        return '这条狗的名字是%s,已经有%d岁了!' % (self.name, self.age)


a = Dog('明明', 7)
print(Dog)

A.运行后报错
B.没有错误,可以输出明明的名字和年龄
C.12行Dog改成a
D.7str改成init

29.小明特别喜欢玩英雄联盟,他就自己建立了一个类,类中定义了一个英雄,有自己的阵营,血量,攻击力和攻击方式,看看他写的有错误吗?

class Garen:
    camp = 'Demacia'

    def init_(self, nickname, aggressivity=58, life_value=455):
        self.nickname = nickname
        self.aggressivity = aggressivity
        self.life_value = life_value

    def attack(self, enemy):
        enemy.life_value -= self.aggressivity


p = Garen("无名")
p.attack(p)

A.2行camp改成NKSS
B.4行init_改成__init__
C.5行self.改成del.
D.10行self.改成del.

30.小明写了一段代码想输出同学的成绩,看看他有没有错误吧!

class Student(object):
    def __init__(self, name, score):
        self.name = name
        self.score = score
        print_score(self):
        print('%s: %s' % (self.name, self.score))


bart = Student('Bart Simpson', 59)
lisa = Student('Lisa Simpson', 87)
bart.print_score()
lisa.print_score()

A.2行去掉最后的:
B.5行最前面加上def和一个空格,并且向左移动一个制表位
C.9行括号内加Student
D.没有错误

二、模块

1.如果待导入的变量与当前命名空间内的变量重名,则:

A.需要使用from..import语句导入
B.需要使用import语句导入
C.必须修改其中一个变量的名称
D.不可以导入该变量所在模块

2.查看已导入模块内的所有定义,可以使用:

A.dir()
B.show()
C.all()
D.findall()

3.下列说法正确的是:

A.不可以为标准模块指定别名
B.第三方模块可以直接使用import语句导入
C.需要导入多个模块时,最好先导入自定义模块
D.导入标准模块后,可以通过模块名调用其提供的函数

4.将模块中的对象加载到当前命名空间,应使用:

A.import
B.from...import...
C.import...as...
D.from...as...

5.想要在模块路径添加到Python的导入检索目录后,在各版本Python中都能找到该路径,应如何添加:

A.使用append()方法添加
B.通过.pth文件添加
C.在PYTHONPATH环境变量中添加
D.以上均可

6.导入模块的关键字是:

A.re
B.import
C.local
D.export

7.通过“from 包名 import 模块名”的方式加载模块,使用该模块内变量时:

A.需要带包前缀和模块名
B.不需要带包前缀,需要带模块名
C.不需要带模块名,需要带包前缀
D.不需要带包前缀和模块名 

8.在调用导入模块中的函数时,需要在函数名前添加:

A.类名
B.包名
C.模块名
D.实例名

9.下列哪项无需创建新的命名空间就可以导入demo.py模块中的所有定义:

A.import demo
B.import demo.py
C.from demo import *
D.from * import demo

10.可以使用()命令安装第三方模块:

A.pip 命令
B.pop 命令
C.install 命令
D.help 命令

11.在IPython中输入()可查看Python中的标准模块和第三方模块:

A.help('list')
B.pip list
C.help('modules')
D.pip modules

12.下列说法错误的是:

A.使用模块可以避免函数名和类名冲突
B.一个扩展名为".py"的文件就是一个模块
C.使用模块可以提高代码的可维护性和可重用性
D.导入模块时,模块名不用区分大小写

13.下列关于__init__.py文件说法正确的是:

A.在导入包时,__init__.py文件会自动执行
B.__init__.py文件没有任何作用,可从包中删除
C.在导入包时,不会导入__init__.py文件
D.__init__.py文件是一个包文件

14.关于自定义模块说法正确的是:

A.自定义模块可随意命名
B.模块文件的扩展名可有可无
C.如果自定义模块名称与标准模块名称相同,将无法创建此模块
D.模块中能定义函数、类和变量,也可能包含可执行代码

15.当使用import语句导入模块时,默认查找目录的位置是保存在:

A.os.path中
B.sys.path中
C.os.PYTHONPATH中
D.sys.PYTHONPATH中

16.分别在demo.py和当前Python文件中输入如下代码,demo.py模块和当前文件的运行结果分别为:

# demo.py
print(__name__)

# 当前Python文件
import demo

A.__name__ 和 空
B.__name__ 和 __name__
C.__name__ 和 __main__
D.__main__ 和 demo

17.运行当前Python代码文件后,输出结果为:

# file:demo.py
a = "123"
b = 2



# 当前Python文件
from demo import a,b
def ff(a,b):
	return a*b

print(ff(5,5))
print(a*b)

A.运行错误
B.25 123123
C.123123 123123
D.25 25

18.小明在电脑桌面上创建了一个Python文件,他想要导入D盘下的game模块,所在路径为“D:\Doc\play”,然后调用game模块中的name变量,在当前Python文件中,第3行代码应填入:

# file:game.py
name = "League of Legends"

01 # 当前Python文件
02 import sys
03
04 import game
05 print(game.name)

A.sys.path.append("D:\Doc\play")
B.sys.append("D:\Doc\play")
C.path.append("D:\Doc\play")
D.append("D:\Doc\play")

19.每一个模块都有一个内置的字符串变量__name__,下列代码的输出结果为:

def showname():
	if __name__=="__main__":
		print(__name__)

showname()

A.__name__
B.__main__
C.False
D.True

20.demo模块内的代码如下:

# file:demo.py


def improvement():
    print('用冲浪的勇气,对待波浪线般的人生。')


def saying():
    print('对未来的真正慷慨,是把一切献给现在。')


improvement()

# 现在当前 Python 文件中输入:
import demo

demo.saying()
运行结果为: 
A.用冲浪的勇气,对待波浪线般的人生。
  对未来的真正慷慨,是把一切献给现在。
B.用冲浪的勇气,对待波浪线般的人生。
C.对未来的真正慷慨,是把一切献给现在。
D.对未来的真正慷慨,是把一切献给现在。
  用冲浪的勇气,对待波浪线般的人生。

21.下列哪项是错误的:

A.from random import *
B.import random,time
C.import random
  import time
D.import random time

22.下列哪项不能输出room模块中的变量sofa:

A.import room as M
  print(M.sofa)
B.import room
  print(room.sofa)
C.from room import sofa
  print(sofa)
D.import room as M
  print(room.sofa)

23.想要输出两天后是星期几,下列代码能否正确运行?

c=time.localtime()
t=time.time()-3600*24*2
print(time.localtime(t).tm_wday)

A.可以
B.不能,应在代码的任意位置填入 import time
C.不能,应在第1行代码的上方填入 import time
D.不能,应在第1行代码的上方填入from time import localtime

24.下列哪项能正确安装第三方模块requests:

A.pip install requests
B.uninstall requests
C.pip list requests
D.get requests

25.在music包中有一个claasical模块,该模块内有变量:composer= “Mozart”,在当前Python文件中想要调用composer,下列哪项可以输出“作曲家: Mozart”:

A.import classical
  print("作曲家:", classical.composer)
B.import music
  print("作曲家:",music.composer)
C.import music.classical
  print("作曲家:", classical.composer)
D.import music.classical
  print("作曲家:",music.classical.composer)

26.下列代码运行后显示错误,哪里出错了呢:

a='是谁?在敲打我窗?'
__name__== __main__
    def aa():
        print(a)
    aa()

A.1行代码应写在34行之间
B.2行代码错误,应改为: if __name__== '__main__':
C.2行代码错误,应改为: if __name__==__main__:
D.4行代码错误,应改为: print(global a)

27.请看下面得描述,选出正确答案:

# file:demo.py
a = "3月8日"
b = "5月1日"
if __name__=='__main__':
	def func(s):
		if s == "妇女节":
			return a
		if s == "劳动节":
			return b
print(func("妇女节"))

#在当前Python文件中想要调用demo模块中的func函数,写入如下代码后却运行报错,怎样才能输出"3月8日": 

# 当前Python文件
from demo import func
print(func("妇女节"))

A.当前Python文件的第2行代码应改为: from demo import func()
B.当前Python文件的第2行代码应改为: from demo import func(s)
C.demo文件中的第4行代码应删除,并将第59行代码的缩进量减少一个级别,第10行的代码缩进量增加一个级别
D.demo文件中的第4行代码应移动至第910行代码之间,并将第59行代码的缩进量减少一个级别,第10行的代码缩进量增加一个级别

28.请看下面得描述,选出正确答案:

# demo.py
class MyClass:
	def __init__(self, a, b):
		self.a = a
		self.b = b
	def method(self):
		return self.a * self.b

# 在当前窗口输入如下代码却显示错误,请帮忙改正:
# 当前Python文件
import demo.py
c = demo.MyClass(2, 2)
print(c.method())

A.2行应改为import demo
B.3行应改为c = MyClass(2, 2)
C.4行应改为print(demo.method())
D.A、B、C选项都对

29.请看下面得描述,选出正确答案:

# demo模块内代码如下:
01 # demo.py
02 class MyClass:
03   def __init__(self, a, b):
04        self.a = a
05        self.b = b
06   def method(self):
07        return self.a * self.b

# 在当前窗口输入如下代码却显示错误,请帮忙改正:
01 # 当前Python文件
02 from demo import MyClass,method
03 c = MyClass(2,2)
04 print(c.method())

A.2行代码改为: from demo import *
B.2行代码改为: from demo import MyClass
C.3行代码改为: c = demo.MyClass(2, 2)
D.A、B选项都正确

30.小明想要查看内置模块collections的语法信息,在IPython中输入help collections运行后却报错,他错在哪里了呢:

A.应输入:>>>help(collections)
B.应输入:
	>>>import collections
   >>>help(collections)
C.应输入:
   >>>import collections
   >>>collections.help
D.不能在IDLE中查看,应新建一个Python文件,然后在其中查询
Logo

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。

更多推荐