以下程序被调用后,能够正确执行的是( )。 def f(x,y=1,z=2): pass

admin2020-04-10  32

问题 以下程序被调用后,能够正确执行的是(    )。
  def f(x,y=1,z=2):
pass

选项 A、f(x=1,2)
B、f(x=1,y=2,z=3)
C、f(1,x=2,z=3)
D、f(1,y=2,3)

答案B

解析 函数的参数在定义时可以指定默认值,当函数被调用时,如果没有传人对应的参数值,则使用函数定义时的默认值替代。本题在定义函数时,y=1,z=2就是指定的默认值。在Python中,函数调用时,参数传递的主要方式有位置传递和关键字传递两种。位置传递是根据函数定义的参数位置来传递参数;关键字传递是根据每个参数的名字传递参数,该方式不用区分参数顺序位置,名字对了就行。关键字传递可以和位置传递混用,但混用时位置参数要出现在关键字参数之前。A项,第一个参数为关键字传递,第二个参数为位置传递,混用顺序不对;D项,第二个参数为关键字传递,第三个参数为位置传递,混用顺序不对;C项,第一个参数已经使用位置传递(将1传递给x),第二个参数又使用关键字传递将2传递给x,会出现异常报错。故答案为B项。
转载请注明原文地址:https://jikaoti.com/ti/oP50FFFM
0

最新回复(0)