python期末题库

本文介绍了Python中的语法特性,如合法的赋值语句、内存管理机制、标识符的规则、布尔值的判断、数据类型如复数和字符串的使用,以及字典的创建和错误示例。同时,讨论了Python中的语句块表示、信息处理和储存方式,以及源代码的执行模式。
摘要由CSDN通过智能技术生成

1.下列哪个语句在Python中是非法的?( B )

A、x = y = z = 1
B、x = (y = z + 1)
C、x, y = y, x
D、x += y
解析:在 Python 中,赋值语句的返回值是 None,不能作为表达式。因此,将赋值语句放在括号里作为表达式是非法的,选项 B 不正确。其他选项都是合法的语句。

2.关于Python内存管理,下列说法错误的是(B )

A、变量不必事先声明
B、变量无须先创建和赋值而直接使用
C、变量无须指定类型
D、可以使用del释放资源
解析:Python 中变量需要先创建再赋值才能使用。在 Python 中,变量是使用时进行创建的,无需事先声明。Python 具有自动垃圾回收机制,内存管理被封装起来,开发者不需要过多关心。Python 中变量无须指定类型,可以根据赋值的对象自动推断类型。del 语句用于释放一个变量,具体来说是删除一个对象名称和对象之间的引用关系,待下次垃圾回收时再将其占用的内存释放。因此,选项 B 中的“变量无须先创建和赋值而直接使用”是错误的。

3、下面哪个不是Python合法的标识符(B )

A、int32
B、40XL
C、self
D、name
解析:标识符(identifier)是 Python 中用于标识变量、函数、类、模块等命名的名称。Python 中标识符的命名规则如下:标识符由字母(广义的 Unicode 字符,不包括特殊字符)、数字和下划线构成,数字不能开头。标识符是区分大小写的。Python 的关键字不能用作标识符。因此,选项 B 中的 40XL 不符合命名规则,不能作为 Python 的合法标识符。其他选项都是合法的标识符。

4、下列哪种说法是错误的 ( A )

A、除字典类型外,所有标准对象均可以用于布尔测试
B、空字符串的布尔值是False
C、空列表对象的布尔值是False
D、值为0的任何数字对象的布尔值是False
解析:Python 中所有标准对象都可以用于布尔测试,包括字典类型。在 Python 中,空对象的布尔值为 False,非空对象的布尔值为 True。因此,选项 A 中的“除字典类型外,所有标准对象均可以用于布尔测试”是错误的。其他选项都是正确的,因为空字符串、空列表、值为 0 的数值在 Python 中的布尔值都为 False。

5、Python不支持的数据类型有 ( A)

A、char
B、int
C、float
D、list
解析:Python 中没有 char 数据类型,字符通常使用长度为 1 的字符串来表示。Python 内置的一些常用数据类型包括整型(int)、浮点型(float)、布尔型(bool)、字符串型(str)、列表型(list)、元组型(tuple)、字典型(dict)、集合型(set)等。因此,选项 A 是 Python 不支持的数据类型。

6、关于Python中的复数,下列说法错误的是(C )

A、表示复数的语法是real + image j
B、实部和虚部都是浮点数
C、虚部必须后缀j,且必须是小写
D、方法conjugate返回复数的共轭复数
解析:Python 中用特殊符号 j(也可以是 J)表示虚部,实部和虚部之间的符号可以是 + 或 -,符号要求与数学中表示复数的方式相同。因此,选项 A 中的“表示复数的语法是 real + image j”是正确的。选项 B 中的“实部和虚部都是浮点数”是正确的。选项 C 中的“虚部必须后缀j,且必须是小写”是错误的,Python 中的 j 是大小写不敏感的,可以是 j 或 J,而且后缀 i 也可以表示虚部。选项 D 中的“方法conjugate返回复数的共轭复数”是正确的,conjugate 方法用于返回复数的共轭复数。

7、关于字符串下列说法错误的是 ( B)
A、字符应该视为长度为1的字符串
B、字符串以\0标志字符串的结束
C、既可以用单引号,也可以用双引号创建字符串
D、在三引号字符串中可以包含换行回车等特殊字符
解析:Python 中字符串不以 \0 标志字符串的结束,而是使用字符串的长度来确定字符串的结束位置。因此,选项 B 中的“字符串以 \0 标志字符串的结束”是错误的。其他选项都是正确的,其中选项 A 中的“字符应该视为长度为 1 的字符串”指出了在 Python 中字符与字符串之间的等价关系;选项 C 中指出了 Python 中字符串可以使用单引号或双引号来创建;选项 D 中则指出在三引号字符串中可以包含换行回车等特殊字符。

8、以下不能创建一个字典的语句是 ( C )
A、dict1 = {}
B、dict2 = { 3 : 5 }
C、dict3 = {[1,2,3]: “uestc”}
D、dict4 = {(1,2,3): “uestc”}
解析:Python 中的字典类型是一种可变容器模型,可以存储任意类型的对象,它是由键(key)和对应的值(value)组成的“键值对”(key-value)集合,具有极快的查找速度。在 Python 中,可以用 {} 或 dict() 创建字典对象。对于选项 C 中的语句,由于列表是可变容器类型,不支持作为字典的键,所以该语句会导致 TypeError 错误,其他选项都可以正确创建字典对象。

9、下列Python语句正确的是 ( D )
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

10、计算机中信息处理和信息储存用(A)

A、二进制代码
B、十进制代码
C、十六进制代码
D、ASCII代码
解析:在计算机中,所有的信息都是以二进制(0 和 1)的形式来表示和存储的,包括数字、字母、符号等各种类型的数据。因此,计算机中的信息处理和信息存储都是使用二进制代码。选项 B 中的十进制代码是人类常用的数字表示方式,但在计算机中并不直接使用,需要进行转换;选项 C 中的十六进制代码常用于表示二进制代码的复杂数据,如颜色、内存地址等;选项 D 中的 ASCII 代码是一种字符编码标准,用于将字符与二进制代码的对应关系固定下来,方便计算机进行字符处理。

11 python源程序执行的方式(B)

A 编译执行
B 解析执行
C 直接执行
D边编译边执行
解析:Python 是一种解释型语言,在 Python 中,源程序的执行分为两个阶段,分别是解析和执行。解析过程是将源程序分解成语法树的过程,将代码转化为内部表示结构的过程;执行过程是将解析后的代码转化为机器语言并执行的过程。在 Python 中,源代码由编译器解析生成字节码(bytecode),然后由虚拟机将字节码转换为机器指令执行。因此,Python 的执行方式是解析执行。选项 A 中的编译执行方式需要将源代码编译为机器码后再执行,Python 不采用这种方式;选项 C 中的直接执行方式是没有经过解析的直接执行源程序,也不是 Python 的执行方式;选项 D 中的边编译边执行方式也不是 Python 的执行方式。

12、Python语言语句块的标记是( C )

A、分号
B、逗号
C、缩进
D、/
解析:Python 语言中通过缩进来表示语句块的层次结构,通常使用 4 个空格或一个制表符(tab)来表示一级缩进,缩进的代码块表示一个语句块,因此缩进是 Python 语言语句块的标记。选项 A 中的分号在 Python 中用于分隔语句,但是不建议在同一行中使用多条语句;选项 B 中的逗号用于分隔序列中的元素,不是语句块的标记;选项 D 中的斜线是 Python 中的除法运算符,也不是语句块的标记。

13、以下是字符转换成字节的方法是(B)

A、decode()
B、encode()
C、upper()
D、rstrip()
解析:Python 中字符转换成字节可以使用字符串的 encode() 方法,该方法会将字符串转换成字节序列(bytes),常用的编码方式包括 utf-8、gbk、gb2312 等。

14、以下是正确的字符串(BD)

A、‘abc”ab”
B、abc”ab’
C、“abc”ab”
D、“abc\”ab”
解析:选项 B 的字符串是正确的,因为双引号和单引号都可以用来定义字符串类型的文本。选项 D 中使用了转义字符 \ 将双引号进行了转义,表明该双引号为字符串的一部分,因此该字符串是正确的。而选项 A、C 中的字符串均使用了不同类型的引号进行嵌套,不符合 Python 中字符串的语法规则,因此是错误的字符串。

15、“ab”+”c”*2 结果是:(C)

A、abc2
B、abcabc
C、abcc
D、ababcc
解析:在 Python 中,字符串可以用加号(+)来进行拼接,也可以使用乘号(*)来进行重复。在该题中,字符串“ab”+“c”表示将字符串“ab”和字符串“c”进行拼接,得到“abc”,然后将字符串“c”重复 2 次,得到“cc”,最后将两个字符串“abc”和“cc”进行拼接,得到结果“abcc”。因此选项 C 正确。

16、以下会出现错误的是(B)

A、‘北京’.encode()
B、‘北京’.decode()
C、‘北京’.encode().decode()
D、以上都不会错误
解析:在 Python 中,字符串类型的数据可以通过 encode() 方法将其转换为字节类型的数据,而字节类型的数据可以通过 decode() 方法将其转换为字符串类型的数据。因此,选项 A 中的代码可以正确地将字符串“北京”转换为字节类型的数据;选项 C 中的代码可以正确地先将字符串“北京”转换为字节类型的数据,再将其转换为字符串类型的数据。而选项 B 中的代码是错误的,因为字符串类型的数据没有 decode() 方法,不能直接将其转换为其他类型的数据。因此选项 B 是会出现错误的。

17、如下:str1 = “Runoob example…wow!!!”; str2 = “exam”;Print(str1.find(str2, 5)) 打印的结果是(B)

A、6
B、7
C、8
D、-1
解析:在 Python 中,字符串的 find() 方法可以用于查找字符串中子字符串的位置,如果找到子字符串,则返回该子字符串在字符串中第一次出现的位置,如果找不到,则返回 -1。在本题中,由于字符串 str2 是字符串 str1 的子字符串,并且从位置 5 开始第一次出现在字符串 str1 中的位置是 7,因此执行 print(str1.find(str2, 5)) 的结果为 7。因此选项 B 正确。

18、下面对count(),index(), find()方法描述错误的是(BC)
A、count() 方法用于统计字符串里某个字符出现的次数
B、find() 方法检测字符串中是否包含子字符串 str 如果包含子字符串返回开始的索引值,否则会报一个异常
C、index() 方法检测字符串中是否包含子字符串 str, 如果str不在 返回-1
D 、以上都错误
解析:count() 方法是用于统计字符串中某个子字符串出现的次数,如果指定的子字符串不存在,则返回 0。因此选项 A 正确。find() 方法检测字符串中是否包含指定的子字符串,如果包含,则返回该子字符串在字符串中第一次出现的位置,如果不包含,则返回 -1。与选项 B 不同,find() 方法不会报异常。因此选项 B 错误。index() 方法同样是用于查找字符串中指定子字符串的位置,与 find() 方法不同的是,如果指定的子字符串不存在,则返回 ValueError 异常。因此选项 C 错误。因此,选项 BC 都是描述错误的。

20、以下不是python中的关键字(D)

A、raise
B、with
C、import
D、final
解析:Python 中的关键字是指被 Python 语言赋予特定含义的单词,这些单词不能用作标识符(例如变量名、函数名等)。Python 中的关键字包括与控制程序流程相关的 if、else、while、for 等,也包括与定义和处理数据相关的 class、def、return、yield 等。而 final 不是 Python 中的关键字,它通常被用作 Java 中的关键字,用于表示一个不可修改的变量、方法或类。在 Python 中,类似功能的关键字是 const 和 readonly,但它们都是 Python 中的保留字,而不是关键字。因此选项 D 不是 Python 中的关键字。

21、调用以下函数返回的值(D)
def myfun():pass

A、0
B、出错不能运行
C、空字符串
D、None
解析:该题中定义了一个空函数 myfun(),该函数没有执行任何语句,因此不会有任何返回值。在 Python 中,当函数没有明确指定返回值时,会默认返回 None。因此,调用 myfun() 函数时会返回 None。因此选项 D 正确。

22、以下关于模块说法错误的是(C)

A、一个xx.py就是一个模块

B、任何一个普通的xx.py文件可以作为模块导入

C、模块文件的扩展名不一定是 .py

D、运行时会从制定的目录搜索导入的模块,如果没有,会报错异常
解析:模块是指一个包含 Python 定义和语句的文件,后缀名必须是 .py。因此,选项 C 中的说法是错误的。正确的说法是模块文件的扩展名必须是 .py。选项 A 中的说法是正确的,一个 xx.py 文件就是一个模块。选项 B 是正确的,一个 Python 文件都可以被当做模块导入。选项 D 中的说法也是正确的,Python 在导入模块时会按照一定的顺序搜索指定目录下的模块,如果找不到会报 ImportError 异常。因此选项 D 正确。

  1. 下列哪个语句在Python中是非法的?( B )。

A. x = y = z = 1
B. x = (y = z + 1)
C. x, y = y, x
D. x += y

解析:在Python中,等号(=)表示赋值操作,将右边的值赋给左边的变量。但是在语法上,等号左边必须是一个变量,不能是表达式。因此,在选项B中,将y=z+1作为x的赋值操作是非法的,因为表达式y=z+1不能被赋值给变量y。

  1. 关于Python内存管理,下列说法错误的是( B )。
    A. 变量不必事先声明
    B. 变量无须先创建和赋值而直接使用
    C. 变量无须指定类型
    D. 可以使用del释放资源

解析:在Python中,变量需要先创建并赋值,然后才能使用。另外,A、C、D三个选项说法都是正确的:A. 变量不必事先声明:Python是一种动态类型语言,变量在使用前不需要先声明类型。当变量第一次被赋值时,Python会自动识别出变量的类型,并为其分配内存。C. 变量无须指定类型:Python变量的类型是动态推导的,不需要显式指定类型。D. 可以使用del释放资源:Python提供了del语句,可以释放不再使用的对象或变量。

  1. 下面哪个不是Python合法的标识符( B )。

A. int32
B. 40XL
C. self
D. name
解析:在Python中,标识符是用来命名变量、函数、类等对象的名称。合法的标识符需要遵守以下规则:标识符只能由字母、数字和下划线组成,不允许出现其他特殊字符。第一个字符必须是字母或下划线,不能是数字。标识符区分大小写。标识符不能是Python的保留字和关键字。根据上述规则,选项A、C、D都是合法的标识符,而选项B不合法,因为它以数字开头。

  1. 下列哪种说法是错误的( A )。

A. 除字典类型外,所有标准对象均可以用于布尔测试
B. 空字符串的布尔值是False
C. 空列表对象的布尔值是False
D. 值为0的任何数字对象的布尔值是False
答案:A. 除字典类型外,所有标准对象均可以用于布尔测试。

解析:所有标准对象均可以用于布尔测试,包括字典类型。选项A说法是错误的。B、C、D三个选项说法正确:B. 空字符串的布尔值是False。C. 空列表对象的布尔值是False。D. 值为0的任何数字对象的布尔值是False。

  1. Python不支持的数据类型有( A )。

A. char
B. int
C. float
D. list
解析: Python中不存在 char 类型。在 Python中,字符也可以使用字符串类型 str 表示,因此 char 不是 Python支持的数据类型。
B、C和D分别是 Python 支持的整型、浮点型和列表类型。

  1. 关于Python中的复数,下列说法错误的是( C )。

A. 表示复数的语法是real + image j
B. 实部和虚部都是浮点数
C. 虚部必须后缀j,且必须是小写
D. 方法conjugate返回复数的共轭复数

解析:C. 虚部必须后缀j,且必须是小写。实部和虚部都是浮点数,表示复数的语法是real + imag j,其中real是实部,imag是虚部。关于虚部必须是小写的说法是错误的,实际上在Python中,可以使用大写或小写的J来表示虚部。D. 方法conjugate返回复数的共轭复数,即实部不变,虚部取负数。

  1. 关于字符串下列说法错误的是( B )。
    A. 字符应该视为长度为1的字符串
    B. 字符串以\0标志字符串的结束
    C. 既可以用单引号,也可以用双引号创建字符串
    D. 在三引号字符串中可以包含换行回车等特殊字符
    解析:在 Python 中,\0 通常被用作字符串中的特殊字符,表示字符串的结束,而不是字符串的标志。因此,选项B说法是错误的。A、C、D三个选项说法是正确的:A. 字符应该视为长度为1的字符串。C. 既可以用单引号,也可以用双引号创建字符串。D. 在三引号字符串中可以包含换行回车等特殊字符。

  2. 以下不能创建一个字典的语句是( C )。

A. dict1 = {}
B. dict2 = { 3 : 5 }
C. dict3 = {[1,2,3]: “uestc”}
D. dict4 = {(1,2,3): “uestc”}
解析:字典是 Python 中的一种可变容器类型,用于存储键值对,每个键值对之间用逗号分隔,整个字典用花括号 {} 包围。其中,键必须是不可变类型(例如整数、浮点数、字符串、元组等),而值则可以是任意类型。选项A、B、D都是创建字典的正确语句,而选项C不是,因为键使用了列表,而列表是可变类型,不能用作字典的键。

  1. 下列Python语句正确的是 ( D )。

A. min = x if x < y else y
B. max = x > y ? x : y
C. if (x > y) print x
D. while True : pass
解析:A. 这是Python中的条件表达式语法,如果 x < y 成立,那么 min = x,否则 min = y。B. 这是C语言中的三目运算符(条件运算符)语法,不能在Python中使用。C. 这是错误的语法,正确的语法应该是 if x > y: print(x)。D. while True : pass 是一个死循环,条件永远为True,可以用于占用CPU时间,等待异步事件的发生。

10.计算机中信息处理和信息储存用( A )。

A. 二进制代码
B. 十进制代码
C. 十六进制代码
D. ASCII代码
解析:计算机中的信息以二进制代码的形式储存和处理。在计算机内部,所有的信息都是以二进制数的形式存在,由0和1这两种状态组成。因此,计算机中使用二进制代码来处理和储存信息,其它进制的数值最终也要被转换为二进制码来进行处理。

  1. Python源程序执行的方式( B )。

A. 编译执行
B. 解析执行
C. 直接执行
D. 边编译边执行
解析:Python是一种解释型语言,Python的源程序不是通过编译生成机器码再执行,而是通过解析源代码直接执行的。具体来说,当Python程序运行时,将会经过以下步骤:Python源代码被解析器读入并解析。将源代码转换为字节码。PVM(即Python虚拟机)执行字节码。因此,Python源程序的执行方式是解析执行。

  1. Python语言语句块的标记是( C )。
    A. 分号
    B. 逗号
    C. 缩进
    D. /
    解析:Python语言中,通过缩进来表示程序的代码块,而不像C语言、Java等语言使用花括号 {} 来表示。在Python中,每个语句块都必须有相同的缩进量,通常使用4个空格来表示一个缩进层级。这种缩进方式可以避免不必要的语法错误和歧义,同时也使代码更加易读、易于维护。所以,Python语言语句块的标记就是缩进。

  2. 以下是字符转换成字节的方法是( B )。

A. decode()
B. encode()
C. upper()
D. rstrip()
解析:将字符串转换成字节可以使用 encode() 方法。在 Python 中,字符串是以 Unicode 编码的,而将字符串转换为字节需要指定编码方式,常用的编码方式之一是 UTF-8 编码。因此,可以使用字符串的 encode() 方法将字符串转换成指定编码方式的字节。A. decode() 方法是将字节解码成字符串。C、D两个方法与字节转换无关,分别用于将字符串转换成大写字母和删除字符串末尾的空白字符。

  1. 以下是正确的字符串( D )。

A. “abcE"ab”
B. “abc"aGb”
C. “abc"ab”
D. “abc"ab”
解析:Python中的字符串需要用引号或者双引号将其包含起来。如果包含的字符串中还有引号或者双引号,需要使用转义字符(反斜杠 \)转义。例如,“abc"ab” 就是一个正确的字符串,其中 " 就表示字符串中包含了一个双引号。A、B、C都是错误的字符串,因为它们中的引号不匹配,且没有使用反斜杠转义。

  1. “ab”+“c”*2 结果是( C )。
    A. abc2
    B. abcabc
    C. abcc
    D. ababcc
    解析:在Python中,使用+号可以将两个字符串拼接起来,*号表示重复,左侧为字符串,右侧为整数,表示将字符串重复多少次。因此,“ab” + “c”*2 就是将两个字符串拼接起来,即 “ab” + “cc”,结果是 “abcc”。

  2. 以下会出现错误的是( B )。
    A. “北京”.encode()
    B. “北京”.decode()
    C. “北京”.encode().decode()
    D. 以上都不会错误
    解析:在 Python 中,字符串是以 Unicode 编码的,要把字符串转成字节需要使用 encode() 方法。而 decode() 方法则是将字节串解码为字符串。因此,选项 A 和 C 都是正确的语句,分别是将字符串编码为字节,以及将字节串按照编码解码为字符串。而选项 B 则会出现错误,因为在已经是字符串的情况下,不能进行 decode() 操作。decode() 方法只适用于字节串的操作。所以选项 B 会出现错误,其他选项都是正确的。

  3. 下面对count()、index()、find()方法描述错误的是( B )。

A. count()方法用于统计字符串里某个字符出现的次数
B. find()方法检测字符串中是否包含子字符串str,如果包含子字符串返回开始的索引值,否则会报一个异常
C. index()方法检测字符串中是否包含子字符串str,如果str不在,则返回-1且会报一个异常
D. 以上都错误
解析:B. find()方法检测字符串中是否包含子字符串str,如果包含子字符串返回开始的索引值,否则返回 -1。

  • 1
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

汇潮学堂

你的鼓励才是我的最大收获

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值