下列哪个语句在 Python 中是非法的?
A. x = y = z = 1
B. x = (y = z + 1)
C. x, y = y, x
D. x += y
答案:B解析: 在 Python 中,赋值语句不能出现在表达式内部(如括号内),除非使用海象运算符 :=(Python 3.8+),但标准赋值 y = z + 1 不能作为值传递给 x。其他选项均为合法语法。
关于 Python 内存管理,下列说法错误的是
A. 变量不必事先声明
B. 变量无须先创建和赋值而直接使用
C. 变量无须指定类型
D. 可以使用 del 释放资源
答案:B解析: Python 是动态类型语言,变量无需声明类型,但必须先赋值才能使用。del 用于删除对象引用,有助于垃圾回收。
下面哪个不是 Python 合法的标识符
A. int32
B. 40XL
C. self
D. name答案:B解析: 标识符不能以数字开头。A、C、D 均合法,B 以数字开头,非法。
下列哪种说法是错误的
A. 除字典类型外,所有标准对象均可以用于布尔测试
B. 空字符串的布尔值是 False
C. 空列表对象的布尔值是 False
D. 值为 0 的任何数字对象的布尔值是 False
答案:A解析: 字典也可以用于布尔测试,空字典为 False,非空为 True。题目表述'除字典类型外'不准确。
Python 不支持的数据类型有
A. char
B. int
C. float
D. list
答案:A解析: Python 没有单独的字符类型,字符也是长度为 1 的字符串。
关于 Python 中的复数,下列说法错误的是
A. 表示复数的语法是 real + image j
B. 实部和虚部都是浮点数
C. 虚部必须后缀 j,且必须是小写
D. 方法 conjugate 返回复数的共轭复数
答案:C解析: 虚部后缀可以是 j 或 J,不强制小写。
关于字符串下列说法错误的是
A. 字符应该视为长度为 1 的字符串
B. 字符串以\0 标志字符串的结束
C. 既可以用单引号,也可以用双引号创建字符串
D. 在三引号字符串中可以包含换行回车等特殊字符
答案:B解析: Python 字符串不以\0 结尾,这是 C 语言的特性。
以下不能创建一个字典的语句是
A. dict1 = {}
B. dict2 = { 3 : 5 }
C. dict3 = {[1,2,3]: "uestc"}
D. dict4 = {(1,2,3): "uestc"}
答案:C解析: 字典的键必须是可哈希的(不可变)。列表 [1,2,3] 是可变的,不能作为键;元组 (1,2,3) 是不可变的,可以作为键。
下列 Python 语句正确的是
A. min = x if x < y else y
B. max = x > y ? x : y
C. if (x > y) print x
D. while True : pass
答案:D解析: A 缺少冒号或赋值逻辑不完整(虽然三元表达式写法正确,但通常作为表达式而非语句赋值给函数名 min 虽合法但不推荐);B 是 C/Java 语法;C 缺少冒号且 print 是函数;D 是死循环占位符,语法正确。
计算机中信息处理和信息储存用
A. 二进制代码
B. 十进制代码
C. 十六进制代码
D. ASCII 代码
答案:A解析: 计算机底层硬件基于二进制工作。
python 源程序执行的方式
A. 编译执行
B. 解析执行
C. 直接执行
D. 边编译边执行
答案:B解析: Python 通常被称为解释型语言,源码被解释器逐行解释执行(尽管现代实现也有 JIT 或预编译字节码,但在分类上常归为解析执行)。
Python 语言语句块的标记是
A. 分号
B. 逗号
C. 缩进
D. /
答案:C解析: Python 使用缩进来定义代码块。
以下是字符转换成字节的方法是
A. decode()
B. encode()
C. upper()
D. rstrip()
答案:B解析: encode() 将字符串编码为字节,decode() 反之。
以下是正确的字符串
A. 'abc"ab"
B. 'abc"ab'
C. "abc"ab"
D. "abc"ab"
答案:BD解析: 需要转义引号或使用不同引号包裹。B 使用单引号包裹包含双引号的字符串;D 使用双引号包裹并转义了内部双引号。
'ab'+'c'*2 结果是
A. abc2
B. abcabc
C. abcc
D. ababcc
答案:C解析: 优先级乘法高于加法。"c"*2 结果为 "cc",再与 "ab" 拼接得 "abcc"。
以下会出现错误的是
A. '北京'.encode()
B. '北京'.decode()
C. '北京'.encode().decode()
D. 以上都不会错误
答案:B解析: 字符串对象本身没有 decode 方法,bytes 对象才有 decode。需要先 encode 成 bytes 才能 decode。
下面对 count(), index(), find() 方法描述错误的是
A. count() 方法用于统计字符串里某个字符出现的次数
B. find() 方法检测字符串中是否包含子字符串 str 如果包含子字符串返回开始的索引值,否则会报一个异常
C. index() 方法检测字符串中是否包含子字符串 str,如果 str 不在 返回 -1
D. 以上都错误
答案:BC解析: B 错,find 找不到返回 -1 不报错;C 错,index 找不到会抛出 ValueError 异常。
有下面的程序段
if k<=10 and k >0:
if k >5:
if k>8:
x=0
else:
X=1
else:
if k>2:
x=3
else:
x=4
其中 k 取那组值时 x =3
A. 3,4,5
B. 3,4
C. 5,6,7
D. 4,5
答案:A解析: 需满足 k<=10, k>0, k<=5, k>2。即 2 < k <= 5。整数为 3, 4, 5。
以下不是 python 中的关键字
A. raise
B. with
C. import
D. final
答案:D解析: Python 中没有 final 关键字(Java 中有)。
调用以下函数返回的值
defmyfun():
pass
A. 0
B. 出错不能运行
C. 空字符串
D. None
答案:D解析: 函数如果没有 return 语句,默认返回 None。
函数如下:def showNnumber(numbers): for n in numbers: print(n)。下面那些在调用函数时会报错
A. showNumer([2,4,5])
B. showNnumber('abcesf')
C. showNnumber(3.4)
D. showNumber((12,4,5))
答案:C解析: 3.4 是浮点数,不可迭代。列表、字符串、元组均可迭代。
下面对 strs 和 list 的值输出正确的是
A. strs ['1','2']
B. list ['1','2']
C. list ['1','2','end']
D. strs ['1','2','end']
答案:CD解析: 列表是可变对象,函数内修改会影响外部。注意变量名 list 覆盖了内置类型,但逻辑上指代传入的列表对象。
定义类如下:class Hello(): pass。下面说明错误的是
A. 该类实例中包含__dir__() 方法
B. 该类实例中包含__hash__() 方法
C. 该类实例中只包含__dir__(),不包含__hash__()
D. 该类没有定义任何方法,所以该实例中没有包含任何方法
答案:CD解析: 即使未定义方法,实例也继承自 object,拥有__dir__, hash 等魔术方法。D 说没有任何方法是错误的。
定义类如下:class hello(): def showInfo(sef): print(self.x)。下面描述正确的是
A. 该类不可以实例化
B. 该类可以实例化
C. 在 pycharm 工具中会出现语法错误,说 self 没有定义
D. 该类可以实例化,并且能正常通过对象调用 showInfo()
答案:AC解析: 参数名拼写错误 sef 导致内部 self 未定义,运行时或静态检查会报错。虽然能实例化类,但调用方法会报错。
关于 python 类 说法错误的是
A. 类的实例方法必须创建对象后才可以调用
B. 类的实例方法必须创建对象前才可以调用
C. 类的类方法可以用对象和类名来调用
D. 类的静态属性可以用类名和对象来调用
答案:B解析: 实例方法必须通过实例调用,不能在没有实例的情况下调用。
下面代码能正常执行的
A. h = Hello; h.showInfo()
B. h = Hello(); h.showInfo('张三')
C. h = Hello('张三'); h.showInfo()
D. h = Hello('admin')
答案:C解析: A 未实例化;B showInfo 不需要传参(self 自动绑定);D 未调用 showInfo 无法验证执行结果,但 C 是完整调用流程。
以下程序能执行的结果是
A. a,b,d
B. a,d
C. d,a
D. 执行会报错
答案:D解析: 类方法定义缺少 self 参数(除了静态方法),调用时传递实例会导致参数过多错误。此外 C 类中 print(c) 变量 c 未定义。
以下哪项 python 能正常启动
A. 拼写错误
B. 错误表达式
C. 缩进错误
D. 手动抛出异常
答案:D解析: 拼写、表达式、缩进错误会导致 SyntaxError 或 NameError 等终止程序。raise 异常可以被捕获,程序可继续运行。
有关异常说法正确的是
A. 程序中抛出异常终止程序
B. 程序中抛出异常不一定终止程序
C. 拼写错误会导致程序终止
D. 缩进错误会导致程序终止
答案:B解析: 异常若未被捕获则终止,若被 try-except 捕获则不会终止。
对以下程序描述错误的是
try:
#语句块 1except IndexError as i:
# 语句块 2
A. 改程序对异常处理了,因此一定不会终止程序
B. 改程序对异常处理了,不一定不会因异常引发终止
C. 语句块 1,如果抛出 IndexError 异常,不会因为异常终止程序
D. 语句块 2 不一定会执行
答案:A解析: 如果抛出非 IndexError 的异常,或者语句块 2 中又抛出异常,程序仍可能终止。
程序如下
try:
number = int(input("请输入数字:"))
print("number:",number)
print("=======hello======")
except Exception as e:
print("打印异常详情信息:",e)
else:
print("没有异常")
finally:#关闭资源print("finally")
print("end")
输入的是 1a 结果是
A. number: 1 ... finally end
B. 打印异常详情信息:invalid literal for int() with base 10: ... finally end
C. hello=== ... finally End
D. 以上都正确
答案:B解析: input 返回 "1a",int("1a") 抛出 ValueError,进入 except,打印错误信息,执行 finally,最后打印 end。else 块不执行。
导入模块的方式错误的是
A. import mo
B. from mo import *
C. import mo as m
D. import m from mo
答案:D解析: 语法应为 from mo import m 或 import mo as m。
以下关于模块说法错误的是
A. 一个 xx.py 就是一个模块
B. 任何一个普通的 xx.py 文件可以作为模块导入
C. 模块文件的扩展名不一定是 .py
D. 运行时会从制定的目录搜索导入的模块,如果没有,会报错异常
答案:C解析: Python 标准模块扩展名通常是 .py,虽然可以有 .pyd/.so 等编译扩展,但在常规语境下 C 选项表述过于绝对,通常认为模块文件是 .py。不过严格来说 C 是对的(有扩展模块)。对比之下,B 选项'任何一个'也不严谨(如文件名冲突或权限问题)。但在考试语境下,通常考察 C 选项认为模块必须是 .py 是错的,因为还有包。这里选 C 意指'扩展名一定是 .py'是错的,所以 C 说法本身是对的?题目问'说法错误的是'。通常考点是:模块可以是 .py 也可以是编译后的。所以 C 说'不一定是'是对的。那么错误的是?A 对,B 对(只要符合命名规范),D 对。这道题可能有争议,通常选 C 的反面理解,即认为模块只能是 .py 是错的。既然题目问错误的是,且 C 说'不一定是',这是事实。那可能是 B?有些文件不能导入(如 main 入口)。暂且保留原题意图,通常此类题选 C 认为它是错的(即暗示必须是 .py)。修正:根据常见题库,此题通常选 C 作为错误项,意指'模块文件扩展名必须是 .py'才是错的,但题干 C 说'不一定是',这陈述是正确的。若必须选错,可能是 B,因为某些文件包含特殊字符或路径问题。此处按常见题库逻辑,选 C 往往是因为出题人认为模块就是 .py。但严谨技术角度,C 描述正确。鉴于这是回忆版,我们保留原题选项,指出其模糊性。在此处选择 C 作为相对最可能的'错误'选项(基于旧题库习惯,认为模块仅限 .py)。
利用条件运算符的嵌套来完成此题:学习成绩>=90 分的同学用 A 表示,60-89 分之间的用 B 表示,60 分以下的用 C 表示
参考代码:
defmain():
s = int(input('请输入成绩:'))
if s >= 90:
grade = 'A'elif s >= 60:
grade = 'B'else:
grade = 'C'print(grade)
if __name__ == "__main__":
main()
输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
参考代码:
defmain():
s = input('input a string:')
letter = 0
space = 0
digit = 0
other = 0for c in s:
if c.isalpha():
letter += 1elif c.isspace():
space += 1elif c.isdigit():
digit += 1else:
other += 1print(f"字母:{letter}, 空格:{space}, 数字:{digit}, 其他字符:{other}")
if __name__ == "__main__":
main()
对 10 个数进行排序
参考代码:
l = []
for i inrange(10):
l.append(int(input('Input a number:')))
# 使用内置 sort
l.sort()
print(l)
# 或者选择排序for i inrange(9):
for j inrange(i+1, 10):
if l[j] < l[i]:
temp = l[j]
l[j] = l[i]
l[i] = temp
print(l)