1、下面程序运行结果为:
|
A ------- 1 ------- 2 ------- ------- 4 ------- 5
B ------- 1 ------- 2
C ------- 1 ------- 2 ------- 3
D ------- 1 ------- 2 ------- 4 ------- 5
解析:
循环5次,当i=1,2,4,5时,print(i),当i=3时,继续循环;所以输出1,2,4,5
正确答案:A
2、在python3中,下列程序运行结果为:
|
A [0: 'a', 1: 'ab', 2: 'abc', 3: 'abcd']
B {1: 'a', 2: 'ab', 3: 'abc', 4: 'abcd'}
C {0: 'a', 1: 'ab', 2: 'abc', 3: 'abcd'}
D [1: 'a', 2: 'ab', 3: 'abc', 4: 'abcd']
解析:
dicts={},是字典,print
(dicts)
输出也应该是字典,而不是列表;
range(len(strs))循环4次,字典中是从0开始的,所以输出的结果为{0: 'a', 1: 'ab', 2: 'abc', 3: 'abcd'}
正确答案:C
3、在Python3中,有关字符串的运算结果为:
|
A 12,12
B 15,15
C 12,15
D None,None
知识点普及:
- string.find(str, beg=0, end=len(string))
检测 str 是否包含在 string 中,如果 beg 和 end 指定范围,则检查是否包含在指定范围内,如果是返回开始的索引值,否则返回-1
- string.rfind(str, beg=0, end=len(string))
类似于 find()函数,不过是从右边开始查找.
- string.index(str, beg=0, end=len(string))
类似于 find()函数,但是找不到报异常.
- string.rindex(str, beg=0, end=len(string))
类似于 rfind()函数,但是找不到报异常.
解析:
strs.find('n'
)
检查'n'是否在字符串strs中,结果为 是 ,返回开始的索引值(13)-1,因此第一个返回结果为12;
strs.rfind(
'n'
)
返回‘n’最后一次出现在字符串strs中的位置(即从左到右开始查找‘n’),因此第二个返回结果为15;
正确答案:C
4、已知print_func.py的代码如下:
|
print_module.py的代码如下:
|
运行print_module.py程序,结果是:
A 、Hello World!
__name__ value: print_func
Done!
B、Hello World!
__name__ value: print_module
Done!
C、Hello World!
__name__ value: __main__
Done!
D、Hello World!
__name__ value:
Done!
知识点普及:
__name__
属于Python中的内置类属性,代表对应程序名称。如果当前运行的程序是主程序,此时__name__
的值就是__main__
,反之,则是对应的模块名。
__main__
一般作为函数的入口,尤其在大型工程中,常常有if__name__=="__main__"
:来表明整个工程开始运行的入口。
在导入文件时,文件中所有没有缩进的代码都会被执行一遍。
解析:
import
print_func
导入print_func
后,先执行print_func.py
中的代码,输出 Hello World!,
print('__name__value: ', __name__)
依次输出“__name__value:”,“print_func”
然后判断if
__name__
=
='__main__':
的结果为假,什么也不执行,再输出“Done!”
正确答案:A
5、根据以下程序,下列选项中,说法正确的是()
class Vector:
__slots__='x','y'
def __init__(self):
pass
class Vector3d(Vector):
__slots__='x','z'
def __init__(self):
pass
vector = Vector()
vector3d = Vector3d()
A 若子类没有定义__slots__属性,则子类可以继承父类的__slots__属性
B Vector类的实例对象vector会自动获得实例属性x和y
C Vector3d类的实例对象vector3d最多只能允许属性x和z
D Vector3d类的实例对象vector3d最多只能允许属性x、y和z
知识点拓展:
python中的new-style class要求继承Python中的一个内建类型, 一般继承object,也可以继承list或者dict等其他的内建类型。
在python新式类中,可以定义一个变量__slots__,作用是阻止在实例化类时为实例分配dict,
默认情况下每个类都会有一个dict,通过__dict__访问,这个dict维护了这个实例的所有属性;
实例对象的实例属性最多只能在__slots__属性值的范围内;
- 子类未声明__slots__时,不继承父类的__slots__,即此时子类实例可以随意赋值属性
- 子类声明__slots__时,继承父类的__slots__,即此时子类的__slots__为其自身+父类的__slots__
解析:
正确答案:D
6、Which numbers are printed?()
|
A 2, 4, 6
B 0, 1, 2, 4, 5, 6
C 0, 1, 4, 5
D 0, 1, 4, 5, 6, 7, 8, 9
E 1, 2, 4, 5, 6
解析:
第一层循环,循环2次,输出0,1
第二层循环,循环2次,输出4,5
正确答案:C
7、下列代码输出为:
|
A True
B False
C 语法错误
D P
知识点普及:
str.endswith
(suffix, start, end) 或 str[start,end].endswith("suffix"),用于判断字符串str是否以suffix结尾。
- str:被查找的字符串
- suffix:查找的字符串/元素/元组
- start:开始查找的位置
- end:结束查找的位置
( 默认start为0,end为suffix的长度 len(suffix) )
返回值:如果str被查找的位置中存在suffix,则 返回True,不存在 则 返回False;
若查找的suffix为空,则返回值 通常为 True。
解析:
str.endswith(suffix,2),str
中“python”(suffix)
的位置在2,“Hello,Python”
分别对应[0,1,2]
,所以返回 True。
正确答案:A
8、在Python3中,执行
|
A True
B False
C [2]
D 报错
解析:
元组[2] 在 元组[1,2,3] 中并不存在,所以返回False。
正确答案:B
9、在Python3中,以下程序结果为:
|
A None
B 报错
C (1, 2, 3, 'a', 'b')
D [1, 2, 3, 'a', 'b']
解析:
元组可以合并,“+”表示连接,所以输出元组(1,2,3,'a','b')
正确答案:C
10、在Python3中,下列说法正确的是:
|
A 1
B 2
C 3
D None
知识点普及:
lists.index(a)
表示在lists
中查找 a
第一次出现时的下标,
解析:
lists.index(2)
即为在lists =
[
1
,
2
,
2
,
3
,
4
,
5]
中查找2第一次出现时的下标,并输出。所以为1。
正确答案:A