目录
实参与形参
- 定义函数时,带默认值的形参必须放在不带默认值的形参后面
下面程序的输出结果是( )。
def StudentInfo(country='中国',name):
print('%s,%s'%(name,country))
StudentInfo('美国','大卫')
A.大卫,美国
B.美国,大卫
C.大卫,中国
D.报错
正确答案:D
解析:定义函数时,带默认值的形参必须放在不带默认值的形参后面。StudentInfo函数的两个形参不符合该规则,因此会报错。
不定长参数
2、不定长的位置参数在传递给函数时会被封装成( )。
A.元组
B.列表
C.集合
D.字典
正确答案:A
解析:不定长的位置参数在传递给函数时会被封装成元组;而不定长的关键字参数在传递给函数时会被封装成字典。
3、对于一个带不定长参数的函数,其普通形参可以有默认参数值。
A.正确
B.错误
正确答案:A
解析:在不定长的位置参数后面可以有普通形参,对于该形参可以指定默认参数值并在函数调用时使用该默认参数值。对于不定长的关键字参数前面的普通形参,也可以为其指定默认参数值。
拆分参数列表
- 如果一个函数所需要的参数已经存储在了列表、元组或字典中,则可以直接从列表、元组或字典中拆分出来函数所需要的这些参数。
其中列表、元组拆分出来的结果作为位置参数,而字典拆分出来的结果作为关键字参数。
python
def SumVal(*args):
sum = 0
for i in args:
sum += i
print('求和结果为:', sum)
ls = [3, 5.2, 7, 1]
SumVal(*ls)
# 提示:*ls的作用是把列表ls中的所有元素拆分出来作为SumVal的实参,即等价于SumVal(3, 5.2, 7, 1)
1、已知函数调用Fun(**a),则a可能是( )。
A.元组
B.列表
C.集合
D.字典
正确答案:D
解析:a前面有两个*,因此a是字典;如果a前面只有一个*,则a可能是元组、列表或集合。
2、字典拆分出来的结果是作为关键字参数。
A.正确
B.错误
正确答案:A
解析:字典中的每个元素是一个键:值对,拆分后键作为形参名、而值作为实参,形成关键字参数,即形参名=实参。
返回值
1、将一个函数的运算结果返回到函数调用的地方,应使用( )。
A.print
B.return
C.break
D.continue
正确答案:B
解析:
print的作用是将数据输出到屏幕上显示;
return的作用是将一个函数的运算结果返回到函数调用的地方,并替换掉函数调用的代码以参与其他运算;
break的作用是结束其所在的那层循环;
continue的作用是结束本次循环并开始下一次循环,即如果执行到continue,则continue所在那层循环中continue后面的语句都不执行,直接跳转到循环开始的位置,再次判断是否可以继续循环。
2、如果在一个函数中没有显式地写return语句,则该函数有一个隐式的什么数据都不返回的retrun语句。
A.正确
B.错误
正确答案:A
解析:如果函数中没有写return语句,则执行到函数结束位置时会隐式执行一个不返回任何数据的return语句、以返回到函数调用的位置。