1、关于递归函数的描述,以下选项中正确的是
A.包含一个循环结构 B.函数比较复杂 C.函数内部包含对本函数的再次调用 D.函数名称作为返回值
答案:D 答案解析:递归函数是指函数内部包含对本函数的再次调用。
2、关于递归函数基例的说明,以下选项中错误的是
A.递归函数必须有基例 B.递归函数的基例不再进行递归 C.每个递归函数都只能有一个基例 D.递归函数的基例决定递归的深度
答案:C 答案解析:每个递归函数至少存在一个基例
3、以下选项中,不属于函数的作用的是
A.提高代码执行速度 B.复用代码 C.增强代码可读性 D.降低编程复杂度
答案:C 答案解析:函数的作用是复用代码、增强代码可读性、降低编程复杂度,而并不能提高代码的执行速度。
4、假设函数中不包括global保留字,对于改变参数值的方法,以下选项中错误的是
A.参数是列表类型时,改变原参数的值 B.参数是整数类型时,不改变原参数的值 C.参数是组合类型(可变对象)时,改变原参数的值 D.参数的值是否改变与函数中对象的操作有关,与参数类型无关
答案:D 答案解析:python里有可变对象和不可变对象之分。只有传入的是不可变对象时,值才不发生改变,若是可变对象,值的传入需要注意。不可变对象:Number ,String ,Tuple,bool。可变对象: List , Set , Dictionary是可以改变内部的元素 。
5、在python中,关于函数的描述,以下选项中正确的是
A. 一个函数中只允许有一条return语句 B. Python中,def和return是函数必须使用的保留字 C. Python函数定义中没有对参数指定类型,这说明,参数在函数中可以当作任意类型使用 D. 函数eval()可以用于数值表达式求值,例如eval(‘2*3+1’)
答案:D 答案解析:函数可以不使用return语句或多条return语句,因此A,B不正确;Python函数定义中没有对参数指定类型,函数中应根据实参的类型使用,C不正确。
6、给出如下代码
def func(a,b):
c = a **2 + b
b =a
return c
a =10
b =100
c = func(a,b)+a
以下选项中描述错误的是 A. 执行该函数后,变量c的值为200 B. 该函数名称为func C.执行该函数后,变量b的值为100 D.执行该函数后,变量a的值为10
答案:A 答案解析:执行该函数后,变量c的值为210
7、在Python中,关于全局变量和局部变量,以下选项中描述不正确的是
A.一个程序中的变量包含两类:全局变量和局部变量 B.全局变量一般没有缩进 C.全局变量在程序执行的全过程有效 D.全局变量不能和局部变量重名
答案:D 答案解析:全局变量可以和局部变量重名