2023年Python选择题及答案解析【35道】

如果你也是看准了Python,想自学Python,在这里为大家准备了丰厚的免费学习大礼包,带大家一起学习,给大家剖析Python兼职、就业行情前景的这些事儿。

一、Python所有方向的学习路线

Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

二、学习软件

工欲善其必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。

三、全套PDF电子书

书籍的好处就在于权威和体系健全,刚开始学习的时候你可以只看视频或者听某个人讲课,但等你学完之后,你觉得你掌握了,这时候建议还是得去看一下书籍,看权威技术书籍也是每个程序员必经之路。

四、入门学习视频

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。

四、实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

五、面试资料

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

成为一个Python程序员专家或许需要花费数年时间,但是打下坚实的基础只要几周就可以,如果你按照我提供的学习路线以及资料有意识地去实践,你就有很大可能成功!
最后祝你好运!!!

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

+ [31、下列关于python socket操作叙述正确的是( )](#31python_socket_______684)
+ [32、Python3中,下列对程序描述正确的是:](#32Python3_693)
+ [33、在Python3中关于下列字符串程序运行结果为?](#33Python3_713)
+ [34、执行以下程序,当用户输入0时,输出结果为()](#340_731)
+ [35、在python中,使用open方法打开文件,语法如下:](#35pythonopen_765)

往期文章》》》》》》
Python知识点整理(完整)

Python知识点整理,图文结合近三万字(史上最全)

Python二级考试知识点(史上最全)

Python二级考试试题汇总(史上最全)

单选题

1、在Python3中,运行结果为:

for i in range(10, 1, -2):
    print(i)

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

正确答案:B、官方解析:在Python3中,for循环语句用法为依次遍历序列内容,题目中range(start, end,
step),索引从start开始到end-1结束,step表示在start和end-1之间的步长,当为负数时,表示生成的序列为倒序,则题目中生成的序列为
10,8,6,4,2

单选题

2、在Python3中,字符串的变换结果为:

strs = 'I like python and java'
print(strs.replace('I', 'Your'))
print(strs.replace('a', '\*', 2))

A、‘Your like python and java’,‘I like python nd jv*’
B、‘I like python and java’,‘I like python nd jv*’
C、‘Your like python and java’,‘I like python nd jva’
D、‘I like python and java’,‘I like python nd jva’

正确答案:C、官方解析: 在Python3中,string.replace(str1, str2,
num=string.count(str1)),把 string 中的 str1 替换成 str2,如果 num 指定,则替换不超过 num
次。 因此 strs.replace(‘I’, ‘Your’) 的结果为:‘Your like python and
java’;strs.replace(‘a’, ‘*’, 2)的结果为:‘I like python nd
j
va’,只会替换字符串中的两个 ‘a’ 字符

单选题

3、在Python3中,下列程序运行结果为:

dicts = {}
dicts[(1, 2)] = ({3, (4, 5)})
print(dicts)

A、报错
B、{(1, 2): {(4, 5), 3}}
C、{(1, 2): [(4, 5), 3]}
D、{(1, 2): [3, 4, 5]}

正确答案:B、官方解析:Python3中,对字典中添加键/值,题目中的字典键为 (1,2),对应的值为 ({3, (4, 5)})

单选题

4、在Python3中,下列程序结果为:

dicts = {'a': 1, 'b': 2, 'c': 3}
print(dicts.pop())

A、{‘c’: 3}
B、报错
C、3
D、(‘c’: 3)

正确答案:B、官方解析:python3中,关于字典的pop方法需要指定删除的key

5、a与b定义如下,下列哪个选项是正确的?

a = ‘123’
b = ‘123’
A、a != B、B、a is B、C、a == 123
D、a + b = 246
正确答案:B(80)
单选题

6、在Python3中,下列程序运行结果为:

lists = [1, 2, 3, 4]
tmp = 0
for i,j in enumerate(lists):
    tmp += i \* j
print(tmp)

A、20
B、30
C、100
D、NonE、正确答案:A、官方解析:
Python3中,enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中,所以程序中表示返回列表的元素和对应下标乘积的累加求和

单选题

7、对于下面的python3函数,如果输入的参数n非常大,函数的返回值会趋近于以下哪一个值(选项中的值用Python表达式来表示)()

import random 
def foo(n):   
        random.seed()
     c1 = 0
     c2 = 0
     for i in range(n):
        x = random.random()
        y = random.random()
        r1 = x \* x + y \* y
        r2 = (1 - x) \* (1 - x) + (1 - y) \* (1 - y)
        if r1 <= 1 and r2 <= 1:
           c1 += 1
         else:
           c2 += 1
    return   c1 / c2

A、4 / 3
B、(math.pi - 2) / (4 - math.pi)
C、math.e ** (6 / 21)
D、math.tan(53 / 180 * math.pi)
正确答案:B
单选题

8、以下程序输出为:

info = {'name':'班长', 'id':100, 'sex':'f', 'address':'北京'}
age = info.get('age')
print(age)
age=info.get('age',18)
print(age)

A、None 18
B、None NonE、C、编译错误
D、运行错误
正确答案:A

单选题

9、执行以下程序,结果输出为()

a = [1]

b = 2

c = 1

def fn(lis,obj):

    lis.append(b)

    obj = obj + 1

    return lis,obj

fn(a,c)

print(fn(a,c))

A、([1, 2, 2], 2)

B、([1, 2, 2], 3)
C、([1, 2], 2)

D、([1, 2], 3)
正确答案:A、官方解析:
当参数为可变对象时,传参采用的是引用传递,修改形参将对实参造成影响;当参数为不可变对象时,传参采用的是值传递,修改形参对实参无影响,实参a为可变对象,实参c为不可变对象,因此正确答案为A选项。
单选题

10、下列程序打印结果为( )

nl = [1,2,5,3,5]
 
nl.append(4)
nl.insert(0,7)
nl.sort()
 
print nl

A、[1, 2, 3, 4, 5, 5, 7]
B、[0, 1, 2, 3, 4, 5, 5]
C、[1, 2, 3, 4, 5, 7]
D、[7, 5, 4, 3, 2, 1]
正确答案:A

单选题

11、下列哪个语句在Python中是非法的?

A、x = y = z = 1
B、x = (y = z + 1)
C、x, y = y, x
D、x += y
正确答案:B
单选题
3、在python3运行环境下,执行以下选项中的代码,其输出结果不为[2,4,6,8,10]的是()

A、a = [1,2,3,4,5,6,7,8,9,10]

print(a[1::2])

B、a = [1,2,3,4,5,6,7,8,9,10]

lis = []

for i in a:

if i % 2 == 0:
lis.append(i)
print(lis)

C、a = [1,2,3,4,5,6,7,8,9,10]

print(list(filter(lambda x:x % 2 ==0,a)))

D、a = [1,2,3,4,5,6,7,8,9,10]

def is\_odd(n):

return n % 2 == 0

print(list(filter(is_odd(),a)))

正确答案:D、官方解析:
D选项会抛出一个缺少位置参数的异常,实际上这里调用的是函数本身,是整个函数体,不需要等待函数执行完成,所以调用时不需要加小括号,正确的调用方式为print(list(filter(is_odd,a)))

单选题

12、当使用import导入模块时,按python查找模块的不同顺序可划分为以下几种:

①环境变量中的PYTHONPATH

②内建模块

③python安装路径

④当前路径,即执行Python脚本文件所在的路径

其中查找顺序正确的一组是()

A、①④②③

B、②①④③
C、②④①③
D、①②③④

正确答案:C、官方解析:
python搜索模块的顺序为:内建模块>当前路径,即执行Python脚本文件所在的路径>环境变量中的PYTHONPATH>python安装路径,故答案为C。

单选题

13、对于Python类中单下划线_foo、双下划线__foo与__foo__的成员,下列说法正确的是?

A、_foo 不能直接用于’from module import *’
B、__foo解析器用_classname__foo来代替这个名字,以区别和其他类相同的命名
C、__foo__代表python里特殊方法专用的标识
D、__foo 可以直接用于’from module import *’
正确答案:ABC
单选题

13、在Python3中,程序运行结果为:

a = 100
b = 14
print(divmod(a, b))

A、(7, 0)
B、(7, 2)
C、[7, 2]
D、NonE、正确答案:B、官方解析:python3中,divmod将除法运算和取余运算结合在一起,结果返回一个tuple(元组)(商和余数)

单选题

14、以下代码输出为:

list1 = {'1':1,'2':2}
list2 = list1
list1['1'] = 5
sum = list1['1'] + list2['1']
print(sum)

A、1
B、2
C、7
D、10
正确答案:D

单选题

15、在python3中,程序运行结果为:

truple = (1, 2, 3)
print(truple\*2)

A、(2,4,6)
B、(1, 2, 3, 1, 2, 3)
C、[1, 2, 3, 1, 2, 3]
D、None

正确答案:B、官方解析:在python3中,元组的 “*” 运算也表示元组复制组合,最后会生成一个新的元组:(1, 2, 3, 1, 2,
3)

单选题

16、在Python3中。下列程序运行结果说明正确的是:

strs = 'abcd12efg'
print(strs.upper().title())

A、‘ABCD12EFG’
B、‘Abc12efg’
C、语法错误
D、‘Abcd12Efg’

正确答案:D、官方解析:在Python3中,upper()
表示将字符小写转换为大写,title方法将字符串内每个连续字母的首字母大写,其余小写,数字后面的字母被title当成首字母大写了

单选题

17、在Python3中,程序运行结果为:

lists = [1, 1, 2, 3, 4, 5, 6]
lists.remove(1)
lists.extend([7,8,9])
print(lists)

A、[2,3,4,5,6]
B、[1,2,3,4,5,6,[7,8,9]]
C、[1,2,3,4,5,6,7,8,9]
D、[2,3,4,5,6,7,8,9]

正确答案:C、官方解析: 在Python3中list.remove(obj)移除列表中某个值的第一个匹配项,
list.extend(seq)在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表),所以 lists.remove(1)
执行之后 lists = [1,2,3,4,5,6],再执行 lists.extend([7,8,9]) 后lists =
[1,2,3,4,5,6,7,8,9]

单选题

18、下面程序运行结果为:

for i in range(5):
    i+=1
    print("-------")
    if i==3:
      continuE、    print(i)

A、------- 1 ------- 2 ------- ------- 4 ------- 5
B、------- 1 ------- 2
C、------- 1 ------- 2 ------- 3
D、------- 1 ------- 2 ------- 4 ------- 5

正确答案:A

单选题

19、列表lis=[1,2,3,4,5,6],其切片lis[-1:1:-1]结果为()

A、[6,5]

B、[1,2]

C、[1,2,3,4]

D、[6,5,4,3]

正确答案:D、官方解析:切片[start:stop:step],当step为负值时,表示从右往左,索引start=-1的元素是6,索引stop=1的元素是2,但是不会取到该索引,因此从右往左,间隔为1取到的结果就是D选项。

单选题

20、对于下面的python3函数,如果输入的参数n非常大,函数的返回值会趋近于以下哪一个值(选项中的值用Python表达式来表示)()

import random 
def foo(n):   
        random.seed()
     c1 = 0
     c2 = 0
     for i in range(n):
        x = random.random()
        y = random.random()
        r1 = x \* x + y \* y
        r2 = (1 - x) \* (1 - x) + (1 - y) \* (1 - y)
        if r1 <= 1 and r2 <= 1:
           c1 += 1
         else:
           c2 += 1
    return   c1 / c2

A、4 / 3
B、(math.pi - 2) / (4 - math.pi)
C、math.e ** (6 / 21)
D、math.tan(53 / 180 * math.pi)
正确答案:B
单选题

单选题

21、在Python3中,程序运行结果为:

lists = [1, 1, 2, 3, 4, 5, 6]
lists.remove(1)
lists.extend([7,8,9])
print(lists)

A、[2,3,4,5,6]
B、[1,2,3,4,5,6,[7,8,9]]
C、[1,2,3,4,5,6,7,8,9]
D、[2,3,4,5,6,7,8,9]

正确答案:C、官方解析: 在Python3中list.remove(obj)移除列表中某个值的第一个匹配项,
list.extend(seq)在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表),所以 lists.remove(1)
执行之后 lists = [1,2,3,4,5,6],再执行 lists.extend([7,8,9]) 后lists =
[1,2,3,4,5,6,7,8,9]

单选题

22、在Python3中,对于以下程序正确的是:

lists = [1, 2, 3, 4, 5, 6]
print(lists[6:])

A、报错
B、[]
C、[1,2,3,4,5,6]
D、[6]

正确答案:B、官方解析:在Python3中列表的索引是从0开始的,因此 lists 的最后一个元素的索引是5;最终想要输出从索引 6
开始的列表,超出列表的索引范围但是不会报错,会输出空列表

单选题

23、执行下列选项的程序,输出结果与其他三个选项不同的是()

A、

a = [['1']\*3 for i in range(3)]

print(a)

B、

b = [['1']]\*3

print(b)

C、

c=[]

for i in range(3):

lis = ['1']\*3

c.append(lis)

print(c)

D、

d = []

lis = ['1']\*3

for i in range(3):

d.append(lis)

print(d)

正确答案:B、官方解析:B选项结果为[[‘1’], [‘1’], [‘1’]],其他选项结果为[[‘1’, ‘1’, ‘1’], [‘1’,
‘1’, ‘1’], [‘1’, ‘1’, ‘1’]]。

单选题

24、在Python3中关于下列字符串程序运行结果为?

str1 = "exam is a example!" 
str2 = "exam" 
print(str1.find(str2, 7))

A、-1

B、14

C、0
D、10

正确答案:D、官方解析: 在Python3中 strs.find(str, beg=0,
end=len(strs))表示在strs中返回第一次出现str的位置下标,beg表示在strs中的开始索引,默认为0(此题中为7),end结束索引,默认为strs的长度,因此此题的结果为10

单选题

25、对列表a = [1,2,3,1,2,4,6]进行去重后,得到列表b,在不考虑列表元素的排列顺序的前提下,下列方法错误的是()

A、b = list(set(a))

B、b = {}

b = list(b.fromkeys(a))

C、

a.sort()

b = []

i = 0

while i < len(a):

if a[i] not in b:

b.append(a[i])

else:

i += 1

D、

a.sort()

for i in range(len(a)-1):

if a[i] == a[i+1]:

a.remove(a[i])

else:

continue


现在能在网上找到很多很多的学习资源,有免费的也有收费的,当我拿到1套比较全的学习资源之前,我并没着急去看第1节,我而是去审视这套资源是否值得学习,有时候也会去问一些学长的意见,如果可以之后,我会对这套学习资源做1个学习计划,我的学习计划主要包括规划图和学习进度表。



分享给大家这份我薅到的免费视频资料,质量还不错,大家可以跟着学习

![](https://img-blog.csdnimg.cn/img_convert/21b2604bd33c4b6713f686ddd3fe5aff.png)



**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**[需要这份系统化学习资料的朋友,可以戳这里获取](https://bbs.csdn.net/topics/618317507)**

**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值