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

admin2022-09-09  12

问题 以下程序被调用后,能够正确执行的是(          )。
  def f(x,y=1,z=2):
    pass40.以下程序被调用后,能够正确执行的是(          )。
  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://kaotiyun.com/show/TZ6p777K
0

最新回复(0)