全部学科
NodeJS全栈
nodejs
Python全栈
python

Python初级技能认证

20 题 45 分钟 难度:★

考察知识点

  • 函数基础:函数定义与调用、参数传递、返回值、嵌套函数
  • 变量与数据类型:变量命名规则、数据类型分类、类型转换、运算符
  • 异常处理:try-except结构、异常类型、异常捕获与处理
  • 数据结构基础:列表、元组、字典、集合的基本操作
💡 参考答案在文末
判断题
1

Python中0.1 + 0.2 == 0.3的结果是True。

A

B

2

列表是可变序列,可以通过索引修改元素值,但不能通过索引添加新元素。

A

B

3

try语句块中发生异常后,程序会立即跳转到对应的except块,不再执行try块中剩余的代码。

A

B

单选题
4

以下代码执行后输出什么?

Python
try:
    result = int("abc")
except ValueError:
    print("值错误")
except TypeError:
    print("类型错误")
except Exception:
    print("其他异常")
A

值错误

B

类型错误

C

其他异常

D

程序崩溃

5

执行int("abc")会引发什么异常?

A

TypeError

B

ValueError

C

KeyError

D

AttributeError

6

以下哪种场景最适合使用decimal模块进行数值计算?

A

科学计算中大量矩阵运算

B

金融系统中货币金额计算

C

图形渲染中坐标位置计算

D

游戏开发中物理碰撞检测

7

执行a, b, c = (1, 2, 3)后,变量a、b、c的值分别是?

A

a=1, b=2, c=3

B

a=(1,2,3), b=None, c=None

C

a=1, b=2, c=(3,)

D

报错

8

以下哪个表达式返回True?

A

bool(0)

B

bool(None)

C

bool('False')

D

bool([])

9

执行3 and 53 or 5的结果分别是?

A

True, True

B

5, 3

C

3, 5

D

False, True

10

以下哪个是正确的接收多返回值的方式?

A

result = func() 使用单个变量接收元组

B

a, b = func() 使用多个变量解包

C

a, b, c = func() 变量数量必须匹配返回值数量

D

以上都是正确方式

11

finally块最主要的使用场景是什么?

A

打印日志信息

B

返回函数结果

C

清理资源(如关闭文件、释放锁)

D

重新抛出异常

多选题
12

关于Python函数的定义与调用,以下哪些说法是正确的

A

函数使用def关键字定义,可以有参数和返回值

B

函数必须先定义后调用,否则会报错

C

函数名可以作为参数传递给其他函数

D

函数可以返回另一个函数作为结果

E

函数定义时参数名不能重复

F

函数可以没有返回值语句,此时返回None

G

调用函数时必须提供所有定义的参数

H

函数体内可以定义嵌套函数

13

关于Python函数的默认参数,以下哪些说法是正确的

A

默认参数在函数定义时指定默认值

B

调用函数时可以省略有默认值的参数

C

默认参数必须在非默认参数之后定义

D

默认参数值在函数定义时求值,只计算一次

E

不应使用可变对象(如列表、字典)作为默认值

F

默认参数可以使用前序参数的值

G

调用时可以覆盖默认参数值

H

默认参数使函数调用更灵活

14

关于Python函数的位置参数和关键字参数,以下哪些说法是正确的

A

位置参数按顺序传递,参数值对应参数位置

B

关键字参数按名称传递,可以不按参数顺序

C

关键字参数必须在位置参数之后传递

D

同一个参数不能既用位置方式又用关键字方式传递

E

关键字参数使代码更清晰易读

F

位置参数调用时可以指定参数名变成关键字参数

G

函数定义时的参数顺序影响位置参数调用方式

H

使用关键字参数可以避免参数顺序错误

填空题
15

在Python中,由于浮点数无法精确表示某些十进制小数,0.1 + 0.2 往往不等于 0.3。要解决这类精度问题,可以使用____________模块,并且需要用____________形式初始化Decimal对象才能保证精确计算。

16

Python中交换两个变量a和b的值,最简洁的方式是使用序列解包:____________, ____________ = ____________, a。这种方式右侧会先打包成元组,然后左侧进行解包赋值。使用*进行扩展解包时,如first, *middle, last = [1, 2, 3, 4, 5],middle的值是[2, 3, 4],是一个列表类型。

17

字典d = {'a': 1, 'b': 2},使用____________方法安全获取键'c'的值可以写成d.get('c', ____________),不会引发异常。要添加新键值对{'c': 3},可以使用____________方法:d.update({'c': 3})。遍历字典的键值对使用items方法:for k, v in d.items():。字典的键必须是不可变类型,列表不能作为键因为它是可变类型。

18

集合A = {1, 2, 3},集合B = {2, 3, 4}。交集运算使用符号____________,对应方法为____________(),结果是____________。并集运算使用符号|,对应方法为union(),结果是{1, 2, 3, 4}。差集运算使用符号-,对应方法为difference(),A - B的结果是{1}。创建空集合必须使用set()函数,因为{}创建的是空字典。

19

要生成 1-10 中所有偶数的平方列表,正确的列表推导式为 [____________ for x in ____________ if ____________],结果得到 [4, 16, 36, 64, 100]

20

字典推导式的基本语法是:____________键表达式: ____________表达式 for 变量 in 可迭代对象}。反转字典键值使用:{____________: k for k, v in original.items()}。从列表生成字典:{x: x**2 for x in range(5)}生成{0: 0, 1: 1, 2: 4, 3: 9, 4: 16}。带条件筛选:{x: x*2 for x in range(6) if x % 2 == 0}生成{0: 0, 2: 4, 4: 8}。

参考答案
1.错误 2.正确 3.正确 4.A 5.B 6.B 7.A 8.C 9.B 10.D 11.C 12.A;B;C;D;E;F;H 13.A;B;C;E;G;H 14.A;B;C;D;E;F;G;H 15.decimal;字符串 16.a;b;b 17.get;0;update 18.&;intersection;{2, 3} 19.x**2;range(1, 11);x % 2 == 0 20.{;值;v
想在手机上练习这套试卷?
使用微信卷王开发者小程序,打开首页顶部扫码功能识别二维码
← 上一套试卷 Python内部机制专项测试
下一套试卷 → Python高级技能认证
扫码体验小程序
加载中
想在手机上刷题学习?
使用微信卷王开发者小程序,打开首页顶部扫码功能识别二维码