1.(单选)下面哪个是Python中不可变的数据结构?
A.set B.list C.tuple D.dict
可变数据类型:列表list[ ]、字典dict{ }、集合set{ }(能查询,也可更改)数据发生改变,但内存地址不变
不可变数据类型:整型int、字符串str' '、元组tuple( )(只能查询,不可更改)当该数据类型的对应变量的值发生了改变,那么它对应的内存地址也会改变
2.(单选)在Python3中。程序语句结果为:
strs = 'abbacabb'
print(strs.strip('ab'))
A.'ab' B.语法错误 C.'c' D'ca'
strip方法匹配两侧所有的不符合条件的字符(括号内指定字符串中的每个字符)
'ab'表示的是一种集合,这里是指:[ab,ba,aa,bb,aaa,bbb,abb,baa]等;strs两端,只要是包含了上述集合中的任何一个,都删除。
注意:是匹配两端的字符(串),如果大于一个,是字符的组合集合
下面是几个案例:
strs = 'acaba'
print(strs.strip('a'))# cab
strs = 'acaba'
print(strs.strip('b'))# acaba
strs = 'acaba'
print(strs.strip('abc'))#
strs = 'acaba'
print(strs.strip('abb'))# c
abb跟ab一样,不要用重复的字符
3.(单选)在python3中,下列程序结果为:
dicts = {'one': 1, 'two': 2, 'three': 3}
print(dicts['one'])
print(dicts['four'])
A.1,[] B.1,{} C.1,报错 D.1,None
在python3中,访问字典的元素主要是依靠字典的key,因此 print(dicts['one']) 的结果为 1;但如果用字典里没有的键访问数据,会报出错误信息
4.(单选)下列程序运行结果为:
a=[1, 2, 3, 4, 5]
sums = sum(map(lambda x: x + 3, a[1::3]))
print(sums)
A.10 B.13 C.15 D.17
我们先来了解一下map函数:
map( )函数
在Python中,
map()
函数是一个内置的高阶函数,它接收一个函数和一个可迭代对象(比如列表)作为输入,然后将该函数应用于可迭代对象中的每个元素,返回一个新的迭代器(在Python 3中返回的是迭代器对象,而不是列表)。
map()
函数的语法如下:map(function, iterable, ...)
其中,
function
是应用于每个元素的函数,iterable
是一个或多个可迭代对象。示例:
# 将列表中的每个字符串转换为大写 words = ['hello', 'world', 'python'] uppercase = map(str.upper, words) print(list(uppercase)) # 输出:['HELLO', 'WORLD', 'PYTHON']
在上面的示例中,
map()
函数应用了str.upper
函数到列表中的每个元素上。
我们再来了解一下匿名函数
lambda函数
匿名函数,也称为lambda函数,是一种在Python中创建小型、一次性的、可读性较高的函数的方式。它们使用lambda关键字定义,不需要使用def关键字,并且可以在需要函数的地方直接使用。
匿名函数的基本语法如下:
lambda arguments: expression
其中,
arguments
是函数的参数,expression
是函数的返回值。示例:
# 定义一个匿名函数,计算两个数的和 add = lambda x, y: x + y print(add(3, 5)) # 输出:8
在上面的示例中,我们定义了一个匿名函数来计算两个数的和
字符串切片
a[1::3]
是Python中用于切片(slice)操作的语法。这表示从索引1开始,以步长3选择列表(或其他可迭代对象)中的元素。具体解释如下:
a
: 列表或可迭代对象。[1::3]
: 从索引1开始,以步长3选择元素。例如:
a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] result = a[1::3] print(result)
输出:
[1, 4, 7]
在这个例子中,
a[1::3]
选择了从索引1开始,以步长3的方式取得列表中的元素,即索引1、4和7的元素。
sum函数
在Python中,
sum()
函数是一个内置函数,用于计算可迭代对象(如列表、元组等)中所有元素的总和。sum()
函数的语法如下:sum(iterable, start=0)
其中,
iterable
是可迭代对象,而start
是可选参数,表示求和的初始值,默认为0。示例:
# 计算列表中所有元素的和 numbers = [1, 2, 3, 4, 5] total = sum(numbers) print(total) # 输出:15# 指定初始值为10进行求和 total_with_start = sum(numbers, start=10) print(total_with_start) # 输出:25
在上面的示例中,
sum()
函数用于计算列表numbers
中所有元素的和,并且演示了如何使用可选的start
参数指定初始值。
sum(numbers, start=10)
是使用了sum()
函数的另一种形式,其中指定了可选参数start
的值为 10。这表示在计算列表numbers
中所有元素的总和时,初始值为 10。具体解释如下:
numbers
: 列表或可迭代对象,包含要求和的元素。start=10
: 可选参数,表示求和的初始值,默认为 0,但在这里被指定为 10。示例:
numbers = [1, 2, 3, 4, 5]# 使用 sum() 函数,初始值为 0(默认) total_default_start = sum(numbers) print(total_default_start) # 输出:15# 使用 sum() 函数,初始值为 10 total_with_start = sum(numbers, start=10) print(total_with_start) # 输出:25
在这个例子中,第一个
sum()
调用没有指定初始值,因此默认为 0,而第二个调用指定了初始值为 10。
5.(单选)下面这段程序的功能是什么?
def f(a, b):if b == 0:return aelse:return f(b, a%b)a, b = input(“Enter two natural numbers: ”)
print f(a, b)
A.求AB最大公约数 B.求AB最小公倍数 C.求A%B D.求A/B
a % b 是求余数
辗转相除法,又称欧几里得算法,以除数和余数反复做除法运算,当余数为 0 时,取当前算式除数为最大公约数
6.(单选)对于下面的python3函数,如果输入的参数n非常大,函数的返回值会趋近于以下哪一个值(选项中的值用Python表达式来表示)
import random
def foo(n): random.seed()c1 = 0c2 = 0for i in range(n):x = random.random()y = random.random()r1 = x * x + y * yr2 = (1 - x) * (1 - x) + (1 - y) * (1 - y)if r1 <= 1 and r2 <= 1:c1 += 1else:c2 += 1return c1 / c2
8.执行以下程序,输出结果为()
def outer(fn):print('outer')def inner():print('inner')return fnreturn inner@outer
def fun():print('fun')
A.outer B.inner C.fun D.因为没有调用任何函数,所以没有输出结果
装饰器的一个关键特性是,它在被装饰函数定义后被立即执行,因此运行装饰函数outer,输出结果为outer,内部函数inner没有调用,不会输出任何结果,被装饰函数同样也不会运行。
9.在python3中关键字 pass 的使用,则:
for i in range(5):if i == 2:passprint(i)
A.1,2,3,4,5 B.0,1,2,3,4 C.0,1,3,4 D.0,1,2,3,4,5
在Python3中,pass是空语句,是为了保持程序结构的完整性,不做任何事情,一般用做占位语句
因此程序打印的数字为 0,1,2,3,4,注意range(5) 生成的列表是从0开始到4,不包含5
10.(多选)Python中函数是对象,下列描述正确的有?
A.函数可以赋值给一个变量 B.函数可以作为元素添加到集合对象中
C.函数可以作为参数值传递给其它函数 D.函数可以当做函数的返回值
在 Python 中万物皆为对象,函数也不例外,函数作为对象可以赋值给一个变量、可以作为元素添加到集合对象中、可作为参数值传递给其它函数,还可以当做函数的返回值,这些特性就是第一类对象所特有的。
详情请参考:
https://www.cnblogs.com/smallmars/p/6936871.html