Python
深度学习模型框架
TensorFlow、PyTorch、Keras、MXNet、Caffe、Theano、CNTK、Chainer、DL4J、FastAI
基础语法
-
某python程序中定义了X=【1,2】,那么X*2的值为(49)
A. 【1,2,1,2】 答案:A 解析:列表的乘法操作是将列表重复指定的次数。
-
以下关于Python的说法中错误的是(49) A. Python是一种解释型语言 B. Python是一种面向对象的语言 C. Python是一种弱类型语言 D. Python是一种静态类型语言
答案:D 解析:Python是一种动态类型语言,变量的类型是在运行时确定的,而不是在编译时确定的。
-
在Python语言中,(50)是一种不可变的、有序的序列结构,其中元素可以重复 A. 列表 B. 元组 C. 字典 D. 集合
答案:B 解析:元组是不可变的、有序的序列结构,元素可以重复。列表是可变的、有序的序列结构,元素可以重复。字典是无序的、可变的键值对集合,键不能重复。集合是无序的、可变的唯一元素集合,元素不能重复。
-
在Python中,表达式2***3的结果是(44)。 A. 6 B. 8 C. 9 D. 5
答案:B 解析:在Python中,运算符表示幂运算,2***3表示2的3次方,结果是8。
-
在Python中,设a=2, b=3,表达式
a<b and b>=3
的值是(61)。 A. True B. False答案:A 解析:a<b的值为True,b>=3的值为True,True and True的值为True。
-
元组的表示形式
- () # 空元组, 等价于tuple()
- (1,) # 单元素元组
- (1,2,3) # 多元素元组
特别注意: (1) 不是元组,是数字1
-
执行以下 Python 语句之后,列表x 为 ( ) D.[1,2,3,[4,5]]
x=[1,2,3]
x.append([4,5])
-
执行以下Python语句之后,列表y为( )。 B.[1,2,3,4,5,6]
x=[1,2,3]
y=x+[4,5,6]
-
关于Python,下列说法正确的是( ) B
A.用try捕获异常,有except,无需执行finaly : finaly 总会被执行
B.可以使用 raise关键字来手动抛出异常
C.except Exception可以捕获所有异常: BaseException是所有异常的基类,捕获所有异常用BaseException
D.可以用switch...case语句表示选择结构: Python中没有内置的switch...case语句
-
字典是Python语言中的一个复合数据类型,现定义字典dict1如下,则不正确的语句为()。dict1={name':'David','age'.10,'class':'first}
A.dict1['age']=15 ✅ 正确。修改键
'age'
的值,变成 15。B.del dict1[1] ❌ 错误。字典的键是
'name'
、'age'
、'class'
,没有键1
,会抛出KeyError: 1
C.del dict1 ✅ 正确。可以删除整个字典对象。之后再访问
dict1
会报错NameError
,但语句本身没问题。D.print(dict1 ['name']) ✅ 正确。输出
"David"
。
🐍 Python 入门常见坑题 — 单选题版
1.
在 Python3 中,list(range(5))
的结果是( )
A. [0,1,2,3,4,5]
B. [1,2,3,4,5]
C. [0,1,2,3,4]
✅
D. [0,1,2,3]
range 不包含结束值。
2.
在 Python3 中,list(range(10, 0, -2))
的结果是( )
A. [10,8,6,4,2,0]
B. [10,8,6,4,2]
✅
C. [8,6,4,2,0]
D. [10,8,6,4]
负步长也不包含 stop。
3.
表达式 1/2
的结果是( )
A. 0
B. 0.5
✅
C. 1
D. Error
Python3 默认真除法。
4.
表达式 1//2
的结果是( )
A. 0
✅
B. 0.5
C. 1
D. Error
//
是整除。
5.
-3 // 2
的值是( )
A. -1
B. -2
✅
C. 1
D. 2
向下取整,不是向零取整。
6.
-3 % 2
的值是( )
A. -1
B. 1
✅
C. 2
D. -2
余数符号跟除数一致。
7.
0.1+0.2==0.3
的结果是( )
A. True
B. False
✅
C. None
D. Error
浮点精度误差。
8.
[1,2]*2
的结果是( )
A. [1,2,1,2]
✅
B. [2,4]
C. [1,2,2,4]
D. Error
*
是复制拼接,不是乘法。
9.
[[]]*3
修改第一个元素后结果是( )
A. [[1],[],[]]
B. [[1],[1],[1]]
✅
C. [1,1,1]
D. Error
是同一个列表引用。
10.
[] is []
的结果是( )
A. True
B. False
✅
C. None
D. Error
is
比较地址,不是值。
11.
bool('False')
的结果是( )
A. False
B. True
✅
C. None
D. Error
非空字符串都为 True。
12.
int('010')
的结果是( )
A. 8
B. 10
✅
C. 0
D. Error
Python3 不把 010 当八进制。
13.
'abc'[::-1]
的结果是( )
A. 'abc'
B. 'cba'
✅
C. ['a','b','c']
D. Error
切片可以倒序。
14.
'abc'.find('d')
的结果是( )
A. -1
✅
B. 0
C. None
D. Error
find
找不到返回 -1,不报错。
15.
'abc'.index('d')
的结果是( )
A. -1
B. None
C. Error
✅
D. 0
index
找不到会ValueError
。
16.
{} == set()
的结果是( )
A. True
B. False
✅
C. None
D. Error
{}
是字典,不是空集合。
17.
True + True
的结果是( )
A. 2
✅
B. True
C. False
D. Error
布尔是 int 子类。
19.
input()
读取到的数据类型是( )
A. int
B. str
✅
C. float
D. list
永远是字符串。
20.
'a' in 'abc'
的结果是( )
A. True
✅
B. False
C. Error
D. None
in
可判断子串。
21.
(1,)
的类型是( )
A. int
B. tuple
✅
C. list
D. str
单元素元组必须带逗号。
22.
(1)
的类型是( )
A. int
✅
B. tuple
C. list
D. str
没逗号就是整数。
23.
list('abc')
的结果是( )
A. ['abc']
B. ['a','b','c']
✅
C. ('a','b','c')
D. Error
字符串会被拆成字符。
24.
set([1,1,2])
的结果是( )
A. {1,1,2}
B. {1,2}
✅
C. [1,2]
D. Error
集合自动去重。
25.
{}
的类型是( )
A. set
B. dict
✅
C. list
D. tuple
{}
默认是空字典。
26.
{1,2} & {2,3}
的结果是( )
A. {1,2,3}
B. {1,3}
C. {2}
✅
D. Error
&
是交集。
27.
{1,2} ^ {2,3}
的结果是( )
A. {1,2,3}
B. {1,3}
✅
C. {2}
D. {}
^
是对称差集。
28.
{'a':1}['b']
的结果是( )
A. None
B. 0
C. Error
✅
D. ''
key 不存在会
KeyError
。
29.
{'a':1}.get('b')
的结果是( )
A. Error
B. 0
C. None
✅
D. ''
get
找不到返回 None。
30.
[1,2]+[3]
的结果是( )
A. [1,2,3]
✅
B. [1,2,6]
C. [1,2]+[3]
D. Error
列表
+
是拼接。
31.
[1,2]*2
的结果是( )
A. [1,2,1,2]
✅
B. [2,4]
C. [1,2,2,4]
D. Error
*
是复制拼接。
32.
[] == []
的结果是( )
A. True
✅
B. False
C. None
D. Error
比值相等。
33.
[] is []
的结果是( )
A. True
B. False
✅
C. None
D. Error
is
比地址。
34.
type([])
的结果是( )
A. <class 'list'>
✅
B. <type 'list'>
C. list
D. Error
type
返回类对象。
35.
id([]) == id([])
的结果是( )
A. True
B. False
✅
C. Error
D. None
不同对象地址不同。
36.
hash([])
的结果是( )
A. 整数
B. Error
✅
C. None
D. []
列表不可哈希。
37.
hash((1,2))
的结果是( )
A. 整数
✅
B. Error
C. None
D. ()
元组可哈希。
38.
bool([0])
的结果是( )
A. False
B. True
✅
C. 0
D. Error
非空列表为 True。
39.
bool([])
的结果是( )
A. False
✅
B. True
C. None
D. Error
空容器为 False。
40.
bool('')
的结果是( )
A. False
✅
B. True
C. None
D. Error
空字符串为 False。
41.
True == 1
的结果是( )
A. True
✅
B. False
C. None
D. Error
布尔是 int 子类。
42.
False == 0
的结果是( )
A. True
✅
B. False
C. None
D. Error
False
也是 0。
45.
None == False
的结果是( )
A. True
B. False
✅
C. None
D. Error
None 不等于 False。
46.
None is None
的结果是( )
A. True
✅
B. False
C. None
D. Error
None
是单例对象。
47.
if 0:
会执行吗?( )
A. 会 B. 不会 ✅ C. Error D. None
0 为 False。
48.
if [0]:
会执行吗?( )
A. 会 ✅ B. 不会 C. Error D. None
非空列表为 True。
49.
if []:
会执行吗?( )
A. 会 B. 不会 ✅ C. Error D. None
空列表为 False。
50.
while 1:
会( )
A. 执行一次 B. 不执行 C. 无限循环 ✅ D. 报错
1 为 True。
51.
break
语句会( )
A. 结束整个程序 B. 结束当前循环 ✅ C. 跳到下次循环 D. 结束函数
break 只管当前循环。
52.
continue
语句会( )
A. 结束当前循环 ✅ B. 结束整个循环 C. 跳出程序 D. 结束函数
跳过本次,继续下一轮。
53.
return
会( )
A. 返回 None B. 结束函数 ✅ C. 跳出循环 D. 结束程序
立刻结束当前函数。
54.
for i in range(3): else:
中的 else
会( )
A. 永不执行 B. 总是执行 ✅ C. 遇 break 才执行 D. 随机执行
没 break 就执行。
55.
for...else
中 else
不执行的条件是( )
A. for 完成 B. for 被 break ✅ C. for 有 continue D. for 没内容
有 break 则不进 else。
56.
pass
语句的作用是( )
A. 跳出 B. 占位 ✅ C. 报错 D. 延迟
什么都不做。
57.
input()
默认返回类型是( )
A. int
B. str
✅
C. float
D. None
一律字符串。
58. 执行:
x = input() # 输入 123
print(x + 1)
结果是( )
A. 124
B. 报错 ✅
C. 1231
D. Error
字符串不能直接加整数。
59.
函数未写 return
时,返回( )
A. 0
B. None
✅
C. False
D. Error
默认返回 None。
60.
return
语句没有值时返回( )
A. 0
B. None
✅
C. False
D. Error
隐式返回 None。
函数参数定义顺序正确的是( )
A. *args, **kwargs, 普通参数
B. 位置, *args, 关键字, **kwargs
✅
C. **kwargs, *args
D. 任意顺序
必须这个顺序。
70. Python 是( )
A. 静态、强类型 B. 动态、强类型 ✅ C. 静态、弱类型 D. 动态、弱类型
动态绑定,但不会自动隐式转类型。
71.
__init__
是( )
A. 析构函数 B. 构造函数 ✅ C. 工厂函数 D. 静态方法
创建对象时调用。
72.
__str__
控制( )
A. 打印输出 ✅ B. 运算符重载 C. 对象比较 D. 类型检查
print(obj)
用它。
73. 类变量是( )
A. 每个对象独立一份 B. 所有对象共享一份 ✅ C. 不可修改 D. 随机生成
类变量所有实例共用。
74. 实例变量是( )
A. 类共享 B. 实例独立 ✅ C. 只读 D. 常量
每个对象自己维护。
75.
self
是( )
A. 类本身 B. 模块 C. 当前实例对象 ✅ D. 全局对象
实例方法第一个参数。
76. 可以在类实例上动态添加属性吗?( )
A. 可以 ✅ B. 不可以 C. 只读 D. 报错
Python 对象可以后加属性。
77.
isinstance(obj, Class)
用来( )
A. 检查是否同一个对象 B. 检查类型 ✅ C. 检查内存地址 D. 检查模块
类型判断。
78.
issubclass(Sub, Super)
用来( )
A. 判断是否同类型 B. 判断是否子类 ✅ C. 判断对象相等 D. 判断继承次数
继承关系检查。
79.
__repr__
用于( )
A. 交互式输出 ✅ B. 打印输出 C. 比较 D. 类型检查
用于
>>> obj
。
80.
__len__
决定( )
A. 对象大小
B. len(obj)
返回值 ✅
C. 类型长度
D. 索引范围
控制
len()
行为。
81.
try/except
用来( )
A. 处理错误 ✅ B. 定义函数 C. 声明变量 D. 跳出循环
捕获异常。
82.
finally
里的代码( )
A. 有异常不执行 B. 永远执行 ✅ C. 没异常不执行 D. 随机执行
无论是否异常都会执行。
83.
raise
用来( )
A. 捕获异常 B. 抛出异常 ✅ C. 清除异常 D. 忽略异常
主动扔异常出去。
84.
open()
默认模式是( )
A. 二进制 B. 文本 ✅ C. 追加 D. 只读二进制
默认文本模式
'r'
。
85.
open()
默认编码是( )
A. ASCII B. UTF-8 ✅ C. GBK D. Latin-1
Python3 默认 UTF-8。
86.
f.read()
读到末尾时返回( )
A. None
B. ''
✅
C. EOF
D. Error
空字符串。
87.
f.readline()
一次读取( )
A. 一行 ✅ B. 所有行 C. 一字节 D. 全部内容
顾名思义。
88.
f.readlines()
读取结果类型是( )
A. list
✅
B. str
C. tuple
D. dict
列表,每行为一个元素。
89.
使用 with open() as f:
的好处是( )
A. 速度更快 B. 自动关闭文件 ✅ C. 自动加锁 D. 自动保存
上下文自动关闭。
90.
文件没 close()
有可能( )
A. 立即释放内存 B. 数据未写入 ✅ C. 变为只读 D. 自动删除
缓冲区未刷新。
91.
import
同一模块多次( )
A. 每次都会重新执行 B. 只执行一次 ✅ C. 会报错 D. 随机执行
已加载模块会缓存。
92.
help()
用于( )
A. 查看源码 B. 查看文档 ✅ C. 查看字节码 D. 查看类图
内置文档查询。
93.
dir(obj)
会( )
A. 显示对象属性列表 ✅ B. 打印对象内容 C. 打印对象地址 D. 打印对象类型
列出所有成员。
94.
type(123)
返回( )
A. int
B. <class 'int'>
✅
C. 'int'
D. Error
返回类型对象。
95.
id(obj)
返回( )
A. 哈希值 B. 内存地址标识 ✅ C. 类型名 D. 对象大小
用于判断对象是否相同。
96.
hash()
作用是( )
A. 返回对象大小 B. 返回对象哈希值 ✅ C. 返回对象地址 D. 返回对象类型
仅限可哈希对象。
97.
==
和 is
分别比较( )
A. 地址 / 值 B. 值 / 地址 ✅ C. 类型 / 值 D. 值 / 类型
考点常考。
98. Python 是( )
A. 强类型语言 ✅ B. 弱类型语言 C. 无类型语言 D. 静态语言
不会自动类型转换。
99. Python 是( )
A. 静态语言 B. 动态语言 ✅ C. 编译语言 D. 类型语言
运行时确定类型。
100. Python 中注释使用( )
A. //
B. #
✅
C. --
D. /* */
单行注释用
#
。
101. 执行:
a = [1,2,3]
b = a[:]
b[0] = 9
print(a)
结果是( )
A. [9,2,3]
B. [1,2,3]
✅
C. [9,9,9]
D. Error
[:]
是浅拷贝,新列表。
102. 执行:
a = [[0]]*3
a[0][0] = 1
print(a)
结果是( )
A. [[1],[0],[0]]
B. [[1],[1],[1]]
✅
C. [1,1,1]
D. Error
同一子列表被重复引用。
103.
3 < 4 < 5
的结果是( )
A. True
✅
B. False
C. Error
D. None
支持链式比较,等价于
3<4 and 4<5
。
104.
True or 1/0
的结果是( )
A. True
✅
B. ZeroDivisionError
C. False
D. None
or 短路,左边 True 不再执行右边。
105.
[] and 1/0
的结果是( )
A. ZeroDivisionError
B. []
✅
C. 1/0
D. None
and 短路,左边 False 直接返回。
106.
(1,2)*2
的结果是( )
A. (1,2,1,2)
✅
B. [1,2,1,2]
C. Error
D. None