1.在Python3中,有关字符串的运算结果为:
strs = 'I like python and java'
one = strs.find('n')
print(one)
two = strs.rfind('n')
print(two)
A.12,12
B.15,15
C.12,15
D.None,None
2.已知a = [1, 2, 3]和b = [1, 2, 4],那么id(a[1])==id(b[1])的执行结果 ()
A.True
B.False
3.以下程序输出为:
def w1():
print('正在装饰')
def inner():
print('正在验证权限')
return inner()
w1()
A.正在装饰 正在验证权限
B.正在装饰
C.正在验证权限
D.运行错误
4.在Python3中,关于字符数组的运行结果为:
names = ["Andrea", "Aaslay", "Steven", "Joa"]
lists = []
for name in names:
if name.count('a') >= 2:
lists.append(name)
print(lists)
A.[‘Andrea’, 'Aaslay', 'Joa']
B.[]
C.[‘Andrea’, 'Aaslay']
D.['Aaslay']
5.根据以下代码,下列选项中,说法正确的是()
class Rectangle:
__count = 0
def __init__(self,width,height):
Rectangle.__count += 1
self.__width = width
self.__height = height
@property
def area(self):
return self.__height * self.__width
rectangle = Rectangle(200,100)
A.创建实例对象rectangle后,可在类外使用rectangle.area()来访问area属性
B.area属性为对象的非私有属性,可以访问和修改
C.变量__count的作用是为了统计创建对象的个数
D.因为__width和__height为私有变量,所以在类外不可能访问__width和__height属性
1.答案:C
解析:
find函数是从前往后找,返回成功匹配的第一个字符的位置索引
rfind函数是从前往后找,返回最后一次成功匹配的字符的位置索引
2.答案:A
解析:
id(object)是python的一个函数用于返回object的内存地址。
python中对于小整数对象有一个小整数对象池,范围在[-5,257)之间。对于在这个范围内的征数,不会新建对象,直接从小整数对象池中取就行。
3.答案:A
解析:
w1()调用会打印“正在装饰”,w1()的最后有调用了inner(),会打印“正在验证权限”
如果外层函数返回的是一个函数名的话,运行结果应该是:正在装饰,
即return inner
如果外层函数返回的是函数调用的话,运行结果是:正在装饰 正在验证权限
即return inner()
4.答案:D
解析:
从名字的字符数组中找出名字中包含字母 ‘a’ 个数大于等于2个名字列表合集
首先对名字的字符数组进行遍历获取每一个名字,再通过 count() 函数判断名字中是否包含字母 ‘a’ 个数大于等于2个,将符合要求的名字字符存放到lists数组中(需要注意 ‘a’ 是区分大小写的),最后输出的 lists = ['Aaslay']
5.答案:C
解析:
使用@property将方法转为属性,该属性为只读属性,只可访问但是不可以修改,使用对象.方法名来访问该属性,但是方法不能再加小括号,故AB选项说法均错误;
变量__count是类的私有变量,由于每次创建对象时,其值自增1,所以可以用来统计创建对象的个数,C正确;
虽然__height和__width为私有变量,不能在类外直接使用对象名.属性名来访问,但是,仍可以使用rectangle._Rectangle__width和rectangle._Rectangle__height来强制访问,故D错误